销毁对象在java中怎么用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了销毁对象在java中怎么用相关的知识,希望对你有一定的参考价值。

java中的对象是由java自动销毁的。当对象不存在引用时,它就会被java自动销毁。
System.gc()可以提醒java去回收无用的对象,但是什么时候销毁该对象还是由java自己决定
参考技术A 当一个对象使用完以后,应该进行销毁,销毁方式可以指NULL 也可以调用 销毁方法

JVM只有在对对象的引用全部撤消后才会选择时机回收对象,时机由JVM决定,程序员可以写System.gc(),但不能强迫JVM立刻进行回收的。
参考技术B //a,b引用对象
Object a = new Object();
Object b = a;
//撤销a引用
a=null;
//撤销b引用
b=null;
//没有了所有引用了~那么new 开辟的内存空间会被gc内存回收器在稍后随机时段回收掉。
参考技术C dispose();

java基础:对象的销毁

java自带垃圾回收机制,会自动识别内存中不再会被使用的对象并将其销毁,释放内存。

finalize()的使用:

  在java中每个被分配了内存的对象最终是要被清理的,那么当系统不能准确的去判断并释放这些对象时,就需要程序员在这个对象的类里面创建一个finalize()的方法,方法告诉程序当满足一个特定的条件时,就释放对象。例如文件流,最终需要将流关闭,才能实现内存的释放。

  示例:

  

    package oopTest;

    public class FinalizeClass
      public boolean nishuone = true;

      public FinalizeClass()
      


      public FinalizeClass(boolean nishuone)
        this.nishuone = nishuone;
      

      public void wobushuo()
        this.nishuone = false;
      

      public void finalize()
       

        if(nishuone)
          System.out.println("java是最nb的编程语言");
        
      

      public static void main(String[] args)
        FinalizeClass a = new FinalizeClass(true);
        a.wobushuo();
        new FinalizeClass(true);
        System.gc();  
      

    

以上是关于销毁对象在java中怎么用的主要内容,如果未能解决你的问题,请参考以下文章

如何在java中销毁一个对象?

《Effect Java》学习笔记1———创建和销毁对象

Effictive Java学习笔记1:创建和销毁对象

Effective Java高效编程

Effective Java 读书笔记之一 创建和销毁对象

java基础:对象的销毁