Java中堆和栈区别

戚薇 Java教程 发布时间:2023-05-17 08:34:49 阅读数:1530 1
下文笔者讲述堆栈的区别说明,如下所示

堆和栈简介

堆和栈指JVM的堆内存和栈内存,那么分别用于存储不同的信息
如:
  栈内存:
     栈内存是JVM中的内存块
       用于存储局部变量
       如:定义在方法中的都是局部变量(方法外的是全局变量)
           for循环内部定义的局部变量,是先加载函数才能进行局部变量的定义
           当方法进栈后,然后再定义变量,此时局部变量就放在栈内存中,当方法运行完毕释放,此时局部变量就会消失
		   这就是栈内存存储的内容,另栈内存速度非常快


   堆内存:
      存储的是数组和对象
	    new实例化的信息都会放在堆内存中
		 堆不会随时释放
      堆内存是采用JVM的垃圾回收机制不定时回收

堆与栈区别

区别1:
   存储内容不同
    栈内存存储局部变量
    堆内存存储实体

区别2:
   更新速度不同
     栈内存的更新速度要快于堆内存
       由于局部变量的生命周期很短(压栈出栈后变量就消失了)

区别3:
   变量的回收方式及生命周期不同
    栈内存存放的变量生命周期一旦结束就会被释放
    堆内存存放的实体会被垃圾回收机制不定时的回收
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaCourse/202305/6486.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者