1.使用new建立对象,在堆内存分配对象空间、初始化;线程
2.在方法栈中定义局部变量,吃用对堆内存中对象的引用;对象
3.方法执行完返回,栈内存自动释放,局部变量销毁;内存
4.若是堆内存中对象没有变量引用它,成为垃圾,有垃圾回收器回收,释放所占堆内存变量
5.Java垃圾回收器垃圾回收
(1)Java运行时系统有一个垃圾回收线程负责清除再也不使用的对象,俗称垃圾回收器;引用
(2)垃圾回收器按期扫描内存,对于被使用的对象加上标记,按可能的路径扫描结束后清除未加标记的对象方法
(3)被回收的对象是:内存分配
a.再也不被任何变量引用的对象;new
b.引用变量自动放弃;系统
c.人为的将引用变量置为null