Java栈和堆的区别

Posted Yori

tags:

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

 

一、栈空间

1、栈空间存储数据效率高

2、栈中的数据是按“先进后出”的方式管理

3、栈空间存储空间比较小,不能存放大量的数据

4、JVM将基本类型的数据存放在栈空间

 

 帮助理解  

  1、“客栈” 能提供很多优质高效的服务[效率高]

  2、“客栈” 外面想入住的客人很多  ||  假设客人先进去的优先安排住在最顶楼[先进],而最顶楼要出去也是最慢的[后出]。  

  3、“客栈”收费比较贵,所以不能提供大量房间入住[存储空间小]。

  4、基本类型的数据 --》  是“客栈”的VIP,可以优先入住

 

二、堆空间

1、堆空间存取数据的效率最低

2、数据存放的位置随机分配

3、堆空间存储数据的空间大,能存放大容量的数据

 

 帮助理解  

  1、“草堆”里寻找想要的种子,要找很久[效率低]

  2、“草堆”里的种子都是随便摆放的[位置随机分配]

  3、“草堆”旁边可以放很多的种子,随便来啊,哈哈[存储空间大]

 

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

栈和队列的区别,栈和堆的区别

栈和堆的区别

变量的存储 -- 栈和堆的区别

关于内存中栈和堆的区别(非数据结构中的堆和栈,区别)

关于内存中栈和堆的区别(非数据结构中的堆和栈,区别)

js栈和堆的区别