在Java中,所有的对象基本都是通过“new”关键字创建出来并存储在“堆”里,但是对于一些比较小的简单的变量往往不是很有效。所以这种变量不用“new”关键字来创建,而是创建一个并非是引用的“自动”变量,这个变量直接存储“值”,并放在堆栈中。这种被特殊对待的类型就是Java中的基本类型。这种类型确定了所占存储空间的大小,不会随着机器硬件架构的变化而变化。下面这张图取自《Java编程思想》:
可以看出,所有的基本类型都是有正负号的,都是有符号的数值类型,没有无符号的数值类型。
另外,Java中提供了基本类型的包装器类,使得可以在堆中创建一个非基本对象,用来表示对应的基本类型。