Java把内存划分成两种:栈内存和堆内存。
栈内存和堆内存都是java存放数据的地方,只不过存放的数据存在从属关系:
1.栈内存
栈内存用来存放在函数中定义的一些基本类型的变量和对象的引用变量
当在一段代码块定义一个变量时,Java就在栈内存中为这个变量分配内存空间,当对应的代码区执行完后,栈内存会立即清理掉,为别的代码执行输出空间,通俗来讲:在栈内存中,来的快,去的也快,一执行完我就跑,我就消失不见,跟渣男渣女一样。
2.堆内存
堆内存用来存放new对象和数组。垃圾回收站在空闲时会自动清理堆内存。在堆中产生了一个数组或对象后,在栈内存中定义的这个变量就成了数组或对象的引用变量。引用变量就相当于是为数组或对象起的一个名称,以后就可以在程序中使用栈中的引用变量来访问堆中的数组或对象。
以上就是我对栈内存和对内存的初步理解,随着理解的不断加深,我对栈内存和堆内存的认识才能真正透彻,感谢阅读!
Java将内存分为栈内存和堆内存。栈内存主要存放基本类型变量和对象引用,生命周期短,随代码块执行结束而释放。堆内存用于存储new出来的对象和数组,由垃圾回收器自动清理。引用变量作为对象在栈中的标识,用于访问堆中的实际对象。
314





