Java对象不具备和基本类型一样的生命周期。当用new创建一个Java对象时。它可以存活于作用域之外。而且,事实证明,由new创建的对象,只要你需要,就会一直保留下去。
但是,如果Java让对象继续存在,那么靠什么才能防止这些对象填满内存空间,进而阻塞你的程序呢?
这就是Java神奇所在。Java有一个垃圾回收器,用来监视用new创建的所有对象,并辨别那些不会再被引用的对象,随后,释放这些对象的内存空间,以便供其他新的对象使用。
也就是说,你根本不必担心内存回收的问题。你只需要创建对象,一旦不再需要他们就会自动消失。这样做就消除了这类编程问题(即“内存泄露”)。
垃圾回收机制(Garbage Collection)
- 对象空间的分配:使用new关键字创建对象即可;
- 对象空间的释放:将对象赋值null即可。垃圾回收器将负责回收所有“不可达”对象的内存空间。
垃圾回收是帮我们回收没有人使用的对象。
【要点】
- 程序员无权调用垃圾回收器;
- 程序员可以通过 System.gc() 通知GC运行(发出建议,但是无权调用),但是Java规范并不能保证立刻运行。
- finalize方法,是Java提供给程序员用来释放对象或资源的方法,但是尽量少用。
未完待续~~后面继续补充。