Argol

I am the captain of my soul.
posts - 12, comments - 1, trackbacks - 0, articles - 0
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

Java中各数据类型的内存分配总结

Posted on 2011-03-08 20:13 Argol 阅读(527) 评论(0)  编辑  收藏 所属分类: 编译原理

基础数据类型直接在栈空间分配。

方法的形式参数,直接在栈空间分配,当方法调用完成后从栈空间回收。

引用数据类型,需要用new来创建,既在栈空间分配一个地址空间,又在堆空间分配对象的类变量

方法的引用参数,在栈空间分配一个地址空间,并指向堆空间的对象区,当方法调用完成后从栈空间回收。

局部变量 new 出来时,在栈空间和堆空间中分配空间,当局部变量生命周期结束后,栈空间立刻被回收,堆空间区域等待GC回收。

方法调用时传入的 literal 参数,先在栈空间分配,在方法调用完成后从栈空间分配。

字符串常量在 DATA 区域分配

this 在堆空间分配

数组既在栈空间分配数组名称, 又在堆空间分配数组实际的大小。


只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问