初识JVM堆栈

  最近看到浅拷贝与深拷贝的区别。联想到了对象的存储形式,即堆内存。

  故如下主要针对java虚拟机中的堆内存栈内存做下简单学习:

  

  堆内存也叫运行时内存,是程序运行期间动态占用的一块内存,也是jvm中主要关注的一块内存。

  引申:堆溢出与栈溢出的区别?代码分别测试下。

  提示-->由于堆内存存储的是对象,所以在程序运行期间如果能够无限创建对象或数组而未被GC及时回收,就可以导致堆内存溢出

     同理,一个方法内部,无限创建变量(入栈)即可导致栈内存溢出。如:递归调用。

猜你喜欢

转载自www.cnblogs.com/zomicc/p/12199148.html
今日推荐