面试分享
JUC
JVM
Redis
MySQL
参考mysql实战45讲
数据库
MySQL中的数据类型
类型 | 类型举例 |
---|---|
整数类型 | TINYINT(1Byte)、SMALLINT(2Byte)、MEDIUMINT(3Byte)、INT(4Byte)、BIGINT(8Byte) |
浮点数类型 | FLOAT(4Byte)、DOUBLE(8Byte) |
定点数类型 | DECIMAL(9Byte) |
位类型 | BIT |
日期时间类型 | YEAR、TIME、DATE、DATETIME、TIMESTAMP |
文本字符串类型 | CHAR、VARCHAR、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT |
枚举类型 | ENUM |
集合类型 | SET |
二进制字符串类型 | BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB |
json类型 | JSON对象、JSON数组 |
空间数据类型 | 单值类型:GEOMETRY、POINT、LINESTRING、POLYGON; 集合类型:MULTIPOINT、MULTILINESTRING、MULTIPOLYGON、 GEOMETRYCOLLECTION |
- float、double都是近似值,存储的时候都存在精度丢失的问题,一般使用decimal类型。如果数据范围超过decimal,建议把数据拆分为整数部分和小数部分,分别存储。
- Int(1)和int(11)不同于varchar,在计算和存储空间上无区别,其中1和11代表的是展示的长度,当打开zerofill配置时,不足的位置会补0,如010。
- varchar是不定长,需要额外空间记录长度,容易产生碎片,不预先分配存储空间,存储长度不要超过5000,否则建议用text类型并新建表,避免影响其他索引 。对于短得列,char效率更高
Java基础
基本语法
++i
与i++
无论是i++
和++i
,对于 i 变量本身来说没有任何区别,执行的结果都是i变量的值加1,关键在于和=的结合
1 | int i = 1; |
==和 equals 的区别
Docker
算法思想
十大经典排序算法
1. 冒泡排序
冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。
1 | function bubbleSort(arr) { |