Java数据类型可以分为两大类:
基本数据类型:整数、浮点数、字符、布尔
引用数据类型:类、数组、接口
基本数据类型:四类八种
引用数据类型:
在Java中,引用类型的变量非常类似于 C/C++ 的指针。引用类型指向一个对象,指向对象的变量是引用变量。这些变量在声明时被指定为一个特定的类型,。变量一旦声明后,类型就不能被改变了。所有引用类型的默认值都是 null。
类:包括我们自己创建的类和java库定义的类,如String类、Date类。
接口(interface):也包括我们自己创建的接口和java自定义的接口,如List
数组:存储在一个连续的内存块中的相同数据类型(引用数据类型)的元素集合。数组中的元素以索引来表示其存放的位置,索引(下标)从0开始。
为什么Java里有基本数据类型和引用数据类型?引用类型在堆里,基本类型在栈里。
栈空间小且连续,往往会被放在缓存。引用类型cache miss率高且要多一次解引用。
对象还要再多储存一个对象头,对基本数据类型来说空间浪费率太高。



