java堆和栈

从堆和栈的功能和作用来通俗的比较,堆主要用来存放对象的,栈主要是用来执行程序的.,

Java把内存划分成两种:一种是栈内存,一种是堆内存。 

  在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。 

  当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。 

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

  在堆中分配的内存,由Java虚拟机的自动垃圾回收器来管理。 

栈有一个很重要的特殊性,就是存在栈中的数据可以共享。

 

 

 

posted @ 2018-09-12 22:09  小马哥快快跑  阅读(151)  评论(0)    收藏  举报