经常听别人说堆和栈,可是很容易混淆,数据到底是存在了哪里。
堆Heap,常规内存池,不用预先知道数据量大小和存活时间,分配存储需要更多的时间。
栈Stack,随机访问存储器,性能更高,不过需要具体知道数据大小和存活时间,方便资源的释放和管理。
Java基本类型:byte,int,short,long,float,double,char,boolean
Java引用类型:
Int,Long,Float,Double,String等
引用类型是对基础类型的包装,存储区域也不同。基本类型存储在栈上,引用类型存储在堆上。
造成他们本质区别的原因在于,栈需要具体的数据大小,而引用对象的数据大小是可以变化的。