码迷,mamicode.com
首页 > 编程语言 > 详细

java堆内存,栈内存

时间:2016-04-12 23:58:29      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:

栈内存

栈内存中储存基本类型的变量(int a =3;)和引用类型的变量(Car  car).当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后,java会自动释放掉为该变量分配的内存空间,该内存空间可以立刻被另作他用。

堆内存

堆内存中存放由new创建的对象和数组,如new Auto;new int [];引用变量是普通变量,定义时在栈中分配内存,引用变量在程序运行到作用域外释放。而数组&对象本身在堆中分配,即使程序运行到使用new产生数组和对象的语句所在地代码块之外,数组和对象本身占用的堆内存也不会被释放,数组和对象在没有引用变量指向的时候才会变成垃圾,但是他们还占着内存,他们在一个不确定的时间被垃圾回收器释放掉。

除了8种基本类型(byte1个字节  int2个字节 short4个字节  long8个字节  float4个字节 double8个字节 char2字节 boolean  )的变量以外,其他的数据类型都称为引用型数据类型,也就是Object.Object的操作全是通过对象的引用。其中引用有点像指针

java堆内存,栈内存

标签:

原文地址:http://www.cnblogs.com/Kevin-Ma/p/5384930.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!