JAVA面向对象03_对象内存管理_继承的意义(上).docxVIP

  • 1
  • 0
  • 约5.3千字
  • 约 12页
  • 2017-08-26 发布于湖北
  • 举报

JAVA面向对象03_对象内存管理_继承的意义(上).docx

JAVA面向对象03_对象内存管理_继承的意义(上)

1. 对象内存管理1.1. 对象内存管理1.1.1. 对象内存管理在JAVA中,有java程序、虚拟机、操作系统三个层次,其中java程序与虚拟机交互,而虚拟机与操作系统交互。编译好的java字节码文件运行在JVM中。程序中无论代码还是数据,都需要存储在内存中,而java程序所需内存均由JVM进行管理分配,开发者只需关心JVM是如何管理内存的,而无需关注某种操作系统是如何管理内存的,这就保证了java程序的平台无关性。JVM会将申请的内存从逻辑上划分为三个区域:堆、栈、方法区。这三个区域分别用于存储不同的数据。1.2. 堆内存1.2.1. 对象存储在堆中JVM在其内存空间开辟了一个称为“堆”的存储空间,这部分空间用于存储使用new关键字所创建的对象。请看如下代码:Cell c =new Cell ();其内存分布如图– 1所示:图- 1从图示1中可以看到右侧的堆内存,new Cell()所创建的对象在堆中分配,同时成员变量亦在此分配,并赋初始值为零。引用类型变量c在栈内存中分配,其中保存的数据,为对象在堆内存中的地址信息,假设对象在堆内存的地址为40DF,则c中保存的即是40DF。1.2.2. 成员变量的生命周期当声明好对象之后,对该对象(堆中的Cell)的访问需要依靠引用变量(栈中的c),那么当一个对象没有任何引用时,该对象被视为废弃的对象,属于被回收的范围,同时该对象中

文档评论(0)

1亿VIP精品文档

相关文档