Java对象清除和垃圾回收

对象的自动清除

  1. 垃圾回收:对象回收是由Java虚拟机的垃圾回收线程来实现的
  2. 任何对象都有一个引用计数,当其值为0时,说明该对象可以回收

System.gc()方法:System类的静态方法,使程序主动的申请进行垃圾回收

析构方法

  1. java中没有析构方法(对象释放时调用的方法),但在Object的finalize()有类似的功能
  2. 可以在子类的finalize()方法释放系统资源
  3. 一般来说,子类的finalize()方法中应该调用父类的finalize(),以保证父类的清理工作能够正常进行

try-with-resources

  1. 由于finalize()方法的时机实际不确定,所以一般不用finalize()
  2. 关闭打开的文件、清除一些非内存资源等工作需要进行处理,可以使用该语法
  3. 对于实现了java.lang.AutoCloseable的对象,会自动调用其close()方法  

 

 

 

你可能感兴趣的:(Java)