0 0

Object类中finalize为啥没有实现5

最近在看java垃圾回收方面的知识,听周大师说,gc是调用finalize来实现垃圾会回收。但是,我发现 Object中的类只是申明了一下,并没有实现,方法也不是用native关键字修饰的,我再随便看了一个子类如BigDecimal ,也没得重写这个函数?那 finalize是怎么实现的呐?
    protected void finalize() throws Throwable { }
2013年3月09日 15:12

4个答案 按时间排序 按投票排序

0 0

周大师说finalize方法的执行是由一条级别非常低的线程执行,该线程是对F-Queue操作的,只有重写了该方法的类才会被加进这个队列,也就说没有重写该方法的类的实例的回收不是用此方法回收的,jdk里面的类没有重写该方法,据周大师的说法设个方法的效率低,又占资源,说不推荐使用这个方法。估计你还没看完周大师的书吧

2013年3月10日 23:26
0 0

参考文档连接;
http://www.iteye.com/topic/484934
http://blog.csdn.net/a511596982/article/details/8042820
希望能帮上忙

2013年3月10日 10:37
0 0

这个方法用于你自己的特殊需求,在你的子类中实现自己的逻辑,一般来说用不到,所以是空的

2013年3月09日 17:13
0 0

推荐您看下  JVM虚拟机技术  上面有关于垃圾回收机制的解释。

2013年3月09日 16:36

相关推荐

    Java中针对finalize的实现和相应的执行过程

    FinalReference引用 ...  因为finalize方法是object定义的,其默认实现为空.那么如果重写了此方法,那么方法体肯定不为空.即可以通过这一种区别来.只要finalize方法实现不为空的类,此产生的对象都需要被注册到fi

    2.接口与抽象类的介绍他们之间的异同点及接口是项目分层与618大促接口的实现.docx

    本文将对 Java 编程语言中的接口和抽象类进行详细的介绍,讨论它们之间的异同点以及在项目分层和618大促接口实现中的应用。 一、包和访问权限 在 Java 中,包是组织类的基本单位,而访问权限则是控制类成员的可...

    Java程序设计:chapter05 类的继承和派生.ppt

    定义一个类时,如果没有显示使用 extends 关键字,则该类的直接父类为 Java.lang.Object 类。 在 Java 中,Object 类是除自身以外的其他所有类的直接或间接父类。例如,通过继承来定义派生类,如例 5-1 所示: ```...

    详解java中finalize的实现与相应的执行过程

    在常规的java书籍中,即会描述 object的finalize方法是用于一些特殊的对象在回收之前再做一些扫尾的工作,但是并没有说明此是如何实现的.本篇从java的角度(不涉及jvm以及c++),有需要的朋友们可以参考借鉴。

    Java语言程序设计抽象类和接口PPT教案学习.pptx

    抽象方法是指在抽象类中声明的方法,但没有被实现的方法。抽象方法的作用是为子类定义公共接口,使得子类可以实现这些方法。抽象方法不能指定为private或static或final,因为这些访问修饰符会限制子类对抽象方法的...

    Java面试32个经典问题 .doc

    它是在Object类中定义的,因此所有的类都继承了它。子类覆盖finalize()方法以整理系统资源或者执行其他清理工作。finalize()方法是在垃圾收集器删除对象之前对这个对象调用的。 第二,Anonymous Inner Class(匿名...

    2023年JavaSE知识点总结个人整理.docx

    finalize是Object类中的方法,其中定义了对象要被垃圾收集器回收之前要做的相关的清理工作。 8. 多态的理解 多态可以理解为事物存在的多种体现形态。父类的引用指向了自己的子类对象;父类的引用也可以接受自己子类...

    农业银行Java基础面试题.pdf

    而抽象类中则可以存在私有成员,方法允许有实现,继承抽象后可以不去实现该抽象类的抽象方法,但此时该子类也必须声明为抽象类。抽象类不能多重继承。 5. Java中一个类被声明为final类型,表示了什么意思? final...

    JavaSE知识点总结(个人整理).docx

    finalize 方法是 Object 类中的方法,其中定义了对象要被垃圾收集器回收之前要做的相关的清理工作。 八、wait() 和 sleep() 的区别 wait() 和 sleep() 是 JavaSE 中的两个不同的方法。wait() 方法可以释放同步锁,...

    JAVA中常用类的常用方法.docx

    JAVA 中有许多常用的类,每个类都有其特定的方法,本文将对 java.lang.Object 类、String 类和 StringBuffer 类的常用方法进行讲解。 一、java.lang.Object类 java.lang.Object 类是 JAVA 中所有类的父类,它提供...

    java笔试-选择题.doc

    Object 类的方法包括 clone、finalize、toString 等。这些方法可以被继承和重写,以增强程序的灵活性和可维护性。 八、多态的表现形式 多态的表现形式包括重写、抽象、继承和封装。这些表现形式可以增强程序的灵活...

    Java30道面试题及答案

    2、finalize()方法在Object中进行了定义,用于在对象“消失”时,由JVM进行调用用于对对象进行垃圾回收,类似于C++中的析构函数;用户自定义时,用于释放对象占用的资源(比如进行IO操作);3、finally{}用于标识...

    2022年Java面试题个人总结答案.docx

    3. finalize是Object类中的protected方法,垃圾回收器执行的时候会调用被回收的类的此方法。 七、接口与否可以继承接口?抽象类与否可以实现接口?抽象类与否可以实现实体类? 1. 接口可以继承接口。 2. 抽象类...

    net学习笔记及其他代码应用

    声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其...

    java程序员必知的

    finalize是 Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。 第二,Anonymous Inner Class (匿名内部类) 是否可以extends...

    JAVA面试题最全集

    一、Java基础知识 1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。 2.字符串的操作: 写一个方法,实现字符串的反转,... Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() ...

    java 面试题 总结

    在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。...

    中软国际Java程序员笔试题及答案.pdf

    在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true ;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。 10....

    Java基础高频的面试题,看这一篇就够了

    * equals()没有重写时,Object默认以==来实现,即比较两个对象的内存地址是否相等。 * 重写以后,按照对象的内容进行比较。 3. String、StringBuffer和StringBuilder的区别 * String:不可变字符序列,效率低,...

    Java面试基础知识.docx

    "Java基础知识点总结" 本文总结了Java面试基础知识的重要概念和技术点,涵盖了异常处理机制、接口和虚类、垃圾回收机制、线程...* finalize是Object类中的一个方法,用于在垃圾回收器回收对象之前执行一些清理工作。

Global site tag (gtag.js) - Google Analytics