Java中堆和栈区别
									
下文笔者讲述堆栈的区别说明,如下所示
				 
				堆和栈简介
堆和栈指JVM的堆内存和栈内存,那么分别用于存储不同的信息
如:
  栈内存:
     栈内存是JVM中的内存块
       用于存储局部变量
       如:定义在方法中的都是局部变量(方法外的是全局变量)
           for循环内部定义的局部变量,是先加载函数才能进行局部变量的定义
           当方法进栈后,然后再定义变量,此时局部变量就放在栈内存中,当方法运行完毕释放,此时局部变量就会消失
		   这就是栈内存存储的内容,另栈内存速度非常快
   堆内存:
      存储的是数组和对象
	    new实例化的信息都会放在堆内存中
		 堆不会随时释放
      堆内存是采用JVM的垃圾回收机制不定时回收
堆与栈区别
区别1:
   存储内容不同
    栈内存存储局部变量
    堆内存存储实体
区别2:
   更新速度不同
     栈内存的更新速度要快于堆内存
       由于局部变量的生命周期很短(压栈出栈后变量就消失了)
区别3:
   变量的回收方式及生命周期不同
    栈内存存放的变量生命周期一旦结束就会被释放
    堆内存存放的实体会被垃圾回收机制不定时的回收
									
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

			
               
               
               
               
          
