首页 > 代码库 > Java栈和堆的区别

Java栈和堆的区别

 

一、栈空间

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

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

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

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

 

 帮助理解  

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

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

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

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

 

二、堆空间

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

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

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

 

 帮助理解  

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

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

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

 

Java栈和堆的区别