java中堆和栈的区别

Posted 爱萌妹的大叔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中堆和栈的区别相关的知识,希望对你有一定的参考价值。

  java中堆和栈的区别:    

    我们平常说的堆和栈,其实就是Java虚拟机中的虚拟机栈和堆,为什么说是虚拟机栈,因为栈分为两个,一个是本地方法栈,另一个就是我们平常说的虚拟机栈。虚拟机栈是线程私有的,这就意味着它的生命周期和线程相同。我们在使用一个方法时,在虚拟机栈中会创建一个栈帧用于保存局部变量表、操作数栈、动态链接和方法接口等信息。堆是线程共享的区域。比如我们使用new()创建的对象所在的位置就在堆中。堆还可以细分为老年代(Eden)和新生代(From Survior和To Survior)。如GC(垃圾收集)等便是在堆上进行的。

 

以上是关于java中堆和栈的区别的主要内容,如果未能解决你的问题,请参考以下文章

JVM中堆和栈的区别

java中堆和栈的区别

Java 中堆和栈的区别

Java中堆和栈的区别

java中堆和栈的区别

java中堆和栈的区别