美文网首页
栈和堆的区别

栈和堆的区别

作者: 慶孟國 | 来源:发表于2018-01-23 16:27 被阅读0次

    JVM是基于堆栈的虚拟机.JVM为每个新创建的线程都分配一个堆栈.也就是说,对于一个Java程序来说,它的运行就是通过对堆栈的操作来完成的。堆栈以帧为单位保存线程的状态。JVM对堆栈只进行两种操作:以帧为单位的压栈和出栈操作。

    差异

    1.堆内存用来存放由new创建的对象和数组。 

    2.栈内存用来存放方法或者局部变量等 

    3.堆是先进先出,后进后出 

    4.栈是后进先出,先进后出

    相同

    1.都是属于Java内存的一种 

    2.系统都会自动去回收它,但是对于堆内存一般开发人员会自动回收它

    相关文章

      网友评论

          本文标题:栈和堆的区别

          本文链接:https://www.haomeiwen.com/subject/sqgsaxtx.html