LinkNemo





Nemo博客

路漫漫其修远兮,吾将上下而求索。

  1. 博客主页
  2. 最新文章
  3. 关于JAVA中堆和栈

关于JAVA中堆和栈

这两天在折腾处理服务器大访问量的处理,其中可能会涉及到堆和栈结构,这里稍稍做下记录。


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


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


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


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


在堆中产生了一个数组或对象后,还可以在栈中定义一个特殊的变量,让栈中这个变量的取值等于数组或对象在堆内存中的首地址,栈中的这个变量就成了数组或对象的引用变量。


引用变量就相当于是为数组或对象起的一个名称,以后就可以在程序中使用栈中的引用变量来访问堆中的数组或对象。


简而言之,也就是说,栈中存放地址,堆中存放对象。


对于栈和堆,我个人的理解是:栈中存放的地址指向堆中存放的对象(这或许可以理解成JAVA的指针?)。


占用空间而言的话,必须是栈中存放的空间比较小。


评论

About ME

Nemo

Nemo

欢迎使用这个博客!如果您在使用的过程中有好的建议或者遇到问题,欢迎给我留言~

Other ME

性别:男

生日:1993-01-01

所在城市:深圳市

工作职务:菜鸟工程师

创建时间:2015/12/31 02:13:14

My SUMMARY

我的文章:370

我的留言:44

我的粉丝:45

我的关注:123

我的点击:347143

么么哒