零碎面试知识
单例模式实现方式
- 静态内部类,通过静态内部类实现懒加载,静态内部类有具有线程安全
- 静态饿汉模式(static修饰)
- 双重检查非静态实现
- 枚举类
常见字符编码
- 字符集:即字符的集合,是一个字典式的东西,可以理解成计算机的字典,也就是说每个字在字典中都是独立存在的,在计算机领域,每个字都需要编号,计算机才能认识。字符集就是字符编号的集合,其中编号又称 代码点(Code Point);常见字符集有:GBK、GB2312、Unicode、ASCII、iso-8859-1
- 字符编码:计算机要处理字符集需要将字符集转化成二进制数据,不同的编码方式转化的结果不一样。UTF-8、UTF-16、UTF-32就是Unicode的编码方式,ASCII的编码方式是最早确定的,直接存储字符额编号;GBK、GB2312属于同一系列的字符集,使用固定长度的方式进行编码
- 日常中习惯把GBK、UTF-8都说成编码格式,这只是一种惯用方法。因为GBK等的编码方式、字符集对应是固定的,说GBK其实也是默认其编码方式。
- UTF-8是变长编码,可能是1字节、2字节、3字节、4字节,看字符集所需的长度。通过第一个字节区分字符长度
- 单字节:0xxx xxxx
- 双字节:110x xxxx
- 三字节:1110 xxxx
- 多字节的字符除了第一个字节外,所有字节都是10开头,这样所有字节都可以区分。