Object类是所有类、数组、枚举类的父类,是类层次结构的根类。每个类都使用Object作为超类。所有对象(包括
数组)都实现这个类的方法。
Object类实现了以下方法:
我们来看看关于finalize()方法在源码中是如何定义的:
protected void finalize() throws Throwable {...
分类:
编程语言 时间:
2015-02-23 20:07:48
阅读次数:
168
也就是说,在对象被回收之前,需要执行finalize方法,而finalize方法的执行又是需要排着队由某个线程来一个个消费的。下面我们通过会阻塞住的finalize方法来验证看看,...
分类:
其他好文 时间:
2015-02-13 22:29:52
阅读次数:
246
final修饰符(关键字),如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用.....
分类:
编程语言 时间:
2015-02-10 21:30:25
阅读次数:
179
在说明finalize()的用法之前要树立有关于java垃圾回收器几个观点:"对象可以不被垃圾回收" : java的垃圾回收遵循一个特点, 就是能不回收就不会回收.只要程序的内存没有达到即将用完的地步, 对象占用的空间就不会被释放.因为如果程序正常结束了,而且垃圾回收器没有释放申请的内存, 那么随着...
分类:
编程语言 时间:
2015-02-07 18:46:17
阅读次数:
164
一、finalize与GC 在GC第一次进行可达性分析时会将不可达而且该对象所属类重写finalize方法和finalize方法重未被执行过的对象追加到F-Queue当中,然后JVM会自动开启一个低优先级的守护线程Finalizer执行F-Qu...
分类:
编程语言 时间:
2015-02-03 08:15:13
阅读次数:
228
基本预备相关知识 1 java的GC只负责内存相关的清理,所有其它资源的清理必须由程序员手工完成。要不然会引起资源泄露,有可能导致程序崩溃。2 调用GC并不保证GC实际执行。3 finalize抛出的未捕获异常只会导致该对象的finalize执行退出。4 用户可以自己调用对象的finalize方法,...
分类:
编程语言 时间:
2015-01-20 21:52:41
阅读次数:
175
Object 类类a) Object 类是所有 Java 类的根基类b) 如果在类的声明中未使用 extends 关键字指明其基类,则默认基类为 Object 类toString()返回该对象的字符串表示。 通常 toString 方法会返回一个 “以文本方式表示” 此对象的字符串,Object 类...
分类:
其他好文 时间:
2015-01-17 16:26:20
阅读次数:
150
public class CDisposable : IDisposable { //析构函数,编译后变成 protected void Finalize(),GC会在回收对象前会调用调用该方法 ~CDisposable() ...
对象,类,方法,实例变量
构造函数 public classname(...)
析构函数 protected finalize()
封装:自己设为私有,编写公有方法使用。
继承:不会继承private
多态
抽象
覆盖:子类重写父类的方法,要求方法名和参数类型完全一样(参数不能是子类),返回值和异常比父类小或者相同(即为父类的子类),访问修饰符比父类大或者相同的若是构造函数则...
分类:
编程语言 时间:
2015-01-02 09:50:55
阅读次数:
158
(此话题将不断更新,请留意)第一,谈谈final, finally, finalize的差别。 final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。finally是异常处理语句结构的一部分,表示总是运行。finalize是 Object类的一个方法,在垃圾收集器运行的....
分类:
编程语言 时间:
2014-12-31 21:22:33
阅读次数:
385