-
Object类中finalize为啥没有实现5
最近在看java垃圾回收方面的知识,听周大师说,gc是调用finalize来实现垃圾会回收。但是,我发现 Object中的类只是申明了一下,并没有实现,方法也不是用native关键字修饰的,我再随便看了一个子类如BigDecimal ,也没得重写这个函数?那 finalize是怎么实现的呐?protected void finalize() throws Throwable { }
2013年3月09日 15:12
4个答案 按时间排序 按投票排序
-
周大师说finalize方法的执行是由一条级别非常低的线程执行,该线程是对F-Queue操作的,只有重写了该方法的类才会被加进这个队列,也就说没有重写该方法的类的实例的回收不是用此方法回收的,jdk里面的类没有重写该方法,据周大师的说法设个方法的效率低,又占资源,说不推荐使用这个方法。估计你还没看完周大师的书吧
2013年3月10日 23:26
-
参考文档连接;
http://www.iteye.com/topic/484934
http://blog.csdn.net/a511596982/article/details/8042820
希望能帮上忙2013年3月10日 10:37
相关推荐
FinalReference引用 ... 因为finalize方法是object定义的,其默认实现为空.那么如果重写了此方法,那么方法体肯定不为空.即可以通过这一种区别来.只要finalize方法实现不为空的类,此产生的对象都需要被注册到fi
本文将对 Java 编程语言中的接口和抽象类进行详细的介绍,讨论它们之间的异同点以及在项目分层和618大促接口实现中的应用。 一、包和访问权限 在 Java 中,包是组织类的基本单位,而访问权限则是控制类成员的可...
定义一个类时,如果没有显示使用 extends 关键字,则该类的直接父类为 Java.lang.Object 类。 在 Java 中,Object 类是除自身以外的其他所有类的直接或间接父类。例如,通过继承来定义派生类,如例 5-1 所示: ```...
在常规的java书籍中,即会描述 object的finalize方法是用于一些特殊的对象在回收之前再做一些扫尾的工作,但是并没有说明此是如何实现的.本篇从java的角度(不涉及jvm以及c++),有需要的朋友们可以参考借鉴。
抽象方法是指在抽象类中声明的方法,但没有被实现的方法。抽象方法的作用是为子类定义公共接口,使得子类可以实现这些方法。抽象方法不能指定为private或static或final,因为这些访问修饰符会限制子类对抽象方法的...
它是在Object类中定义的,因此所有的类都继承了它。子类覆盖finalize()方法以整理系统资源或者执行其他清理工作。finalize()方法是在垃圾收集器删除对象之前对这个对象调用的。 第二,Anonymous Inner Class(匿名...
finalize是Object类中的方法,其中定义了对象要被垃圾收集器回收之前要做的相关的清理工作。 8. 多态的理解 多态可以理解为事物存在的多种体现形态。父类的引用指向了自己的子类对象;父类的引用也可以接受自己子类...
而抽象类中则可以存在私有成员,方法允许有实现,继承抽象后可以不去实现该抽象类的抽象方法,但此时该子类也必须声明为抽象类。抽象类不能多重继承。 5. Java中一个类被声明为final类型,表示了什么意思? final...
finalize 方法是 Object 类中的方法,其中定义了对象要被垃圾收集器回收之前要做的相关的清理工作。 八、wait() 和 sleep() 的区别 wait() 和 sleep() 是 JavaSE 中的两个不同的方法。wait() 方法可以释放同步锁,...
JAVA 中有许多常用的类,每个类都有其特定的方法,本文将对 java.lang.Object 类、String 类和 StringBuffer 类的常用方法进行讲解。 一、java.lang.Object类 java.lang.Object 类是 JAVA 中所有类的父类,它提供...
Object 类的方法包括 clone、finalize、toString 等。这些方法可以被继承和重写,以增强程序的灵活性和可维护性。 八、多态的表现形式 多态的表现形式包括重写、抽象、继承和封装。这些表现形式可以增强程序的灵活...
2、finalize()方法在Object中进行了定义,用于在对象“消失”时,由JVM进行调用用于对对象进行垃圾回收,类似于C++中的析构函数;用户自定义时,用于释放对象占用的资源(比如进行IO操作);3、finally{}用于标识...
3. finalize是Object类中的protected方法,垃圾回收器执行的时候会调用被回收的类的此方法。 七、接口与否可以继承接口?抽象类与否可以实现接口?抽象类与否可以实现实体类? 1. 接口可以继承接口。 2. 抽象类...
声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其...
finalize是 Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。 第二,Anonymous Inner Class (匿名内部类) 是否可以extends...
一、Java基础知识 1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。 2.字符串的操作: 写一个方法,实现字符串的反转,... Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() ...
在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。...
在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true ;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。 10....
* equals()没有重写时,Object默认以==来实现,即比较两个对象的内存地址是否相等。 * 重写以后,按照对象的内容进行比较。 3. String、StringBuffer和StringBuilder的区别 * String:不可变字符序列,效率低,...
"Java基础知识点总结" 本文总结了Java面试基础知识的重要概念和技术点,涵盖了异常处理机制、接口和虚类、垃圾回收机制、线程...* finalize是Object类中的一个方法,用于在垃圾回收器回收对象之前执行一些清理工作。