一、面向对象的优点
1.便于程序模拟现实世界中的实体
用"类"封装建模实体对象的状态和行为
2.隐藏细节
对象的行为和状态被封装在类中,外界通过公开的接口调用类的方法来获得状态信息,不需要关注内部细节如何实现。
3.可重用
可以通过类模板,创建多个对象实例,重用类的定义代码。
二、Java对象的内存管理机制
使用new关键字创建对象,在堆内存分配对象空间、初始化。在方法栈中定义局部变量,持有对堆内存中对象的引用,方法
执行完返回,栈内存自动释放,局部变量销毁。如果堆内存中对象没有变量引用它,成为垃圾,由垃圾回收器回收,释放所占内存。
三、Java垃圾回收器
Java运行时系统有一个垃圾回收线程负责清除不再使用的对象,俗称垃圾回收器(主要回收堆内存空间);垃圾回收器定期扫描
内存,对于被使用的对象加上标记,按可能的路径扫描结束后清除未加标记的对象。
被回收的对象是:
①不再被任何变量引用的对象
②引用变量自动放弃
1.便于程序模拟现实世界中的实体
用"类"封装建模实体对象的状态和行为
2.隐藏细节
对象的行为和状态被封装在类中,外界通过公开的接口调用类的方法来获得状态信息,不需要关注内部细节如何实现。
3.可重用
可以通过类模板,创建多个对象实例,重用类的定义代码。
二、Java对象的内存管理机制
使用new关键字创建对象,在堆内存分配对象空间、初始化。在方法栈中定义局部变量,持有对堆内存中对象的引用,方法
执行完返回,栈内存自动释放,局部变量销毁。如果堆内存中对象没有变量引用它,成为垃圾,由垃圾回收器回收,释放所占内存。
三、Java垃圾回收器
Java运行时系统有一个垃圾回收线程负责清除不再使用的对象,俗称垃圾回收器(主要回收堆内存空间);垃圾回收器定期扫描
内存,对于被使用的对象加上标记,按可能的路径扫描结束后清除未加标记的对象。
被回收的对象是:
①不再被任何变量引用的对象
②引用变量自动放弃