关闭

JAVA 对象内存管理

标签: Java内存管理对象new
1119人阅读 评论(0) 收藏 举报
分类:
在JAVA中,JVM会将申请的内存从逻辑上划分为三个区域:堆、栈、方法区。这三个区域分别用于存储不同的数据。

JVM在其内存空间开辟了一个称为“堆”的存储空间,这部分空间用于存储使用new关键字所创建的对象。代码如下:
Cell   c  = new  Cell ();

栈中的对象有引用则代表不是垃圾

当声明好对象之后,对该对象(堆中的Cell)的访问需要依靠引用变量(栈中的c),那么当一个对象没有任何引用时,该对象被视为废弃的对象,属于被回收的范围,同时该对象中的所有成员变量也随之被回收。

如下的代码,演示了对象不再被引用:

Cell   c  =  new  Cell();
c = null

堆中的对象不再有引用则视为垃圾

每次new一个新的对象都会生成一个新的对象存入堆中,方法区只有一个,无论new多少个新的对象,方法区都不会改变。方法区读取该类的.class文件中的方法后就不会再改变。

每次new 都会生成一个新的对象放入堆中

调用方法区中的方法,栈会自动产生一个栈桢去指向这个方法,用完后栈桢自动消失

调用方法栈中会自动产生一个栈桢去指向这个方法

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:90944次
    • 积分:1306
    • 等级:
    • 排名:千里之外
    • 原创:46篇
    • 转载:2篇
    • 译文:0篇
    • 评论:11条
    文章分类
    最新评论