15个易遗忘的Java问题
通常,在面试中,会遇到面试官提一些比较“偏冷”的基础知识,比如基本数据类型所占用的字节数,或者Unicode和UTF-8的区别之类的问题,这时很多应聘者会答错。还有在平常编码的过程中,很多时候会用到除法计算,比如对一个长度为100万的List中的所有元素进行除16的操作,那么CPU对element4操作的运算会快于element/16的操作……因此,本文对一些容易被遗忘的基础知识进行归纳,希望可以帮助广大程序员轻松应对面试官的基础技术问题,以及提升编码效率。本文适合有一定Java基础的技术人员阅读,部分内容对初学者来说可能会比较吃力。
1.Java中的基本数据类型以及所占内存大小
(1)整形
byte ? ?1字节
short ? ?2字节
int ? ?4字节
long ? ?8字节
(2)浮点型
float ? ?4字节
double ? ?8字节
(3)字符类型
char ? ?2字节(Unicode-16)
(4)布尔类型
? ? 布尔类型boolean比较特殊,尽管Java虚拟机定义了boolean类型,但虚拟机对boolean类型的支持是有限的,没有为boolean值单独设计JVM指令。操作布尔值的表达式在编译之后,它使用的是JVM的int数据类型,也就是占用4个字节。
JVM也不会直接支持boolean数组,boolean数组在编译之后,
原创力文档

文档评论(0)