ChinaUnix.net
相关文章推荐:

dipose与finalize方法的区别

关于system.gc()finalize()方法 java的内存回收机制是由jvm自动完成的,当jvm对内存进行回收时将调用finalize()函数。因此我们可以在其中增加一些方法来完成一些我们期待在内存回收时完成的任务。最常见的任务就是标记日志和复活对象:通过在finalize()中添加Log函数,我们可以跟踪jvm的内存回收;而在finalize()中将要回收的对象赋值给一个新的对象则实现了对象的复活。而在android中,finalize()函数又有一个重要的功能:...

by 三里屯摇滚 - 移动操作系统 - 2011-11-23 16:11:02 阅读(1172) 回复(0)

android

相关讨论

JVM不会在一个对象上调用超过一次以上的finalized()方法。 为什么我的执行结果却不同? package pk2; public class DD extends Object { /** * @param args * @throws Throwable */ public static void main(String[] args) throws Throwable { DD dd = new DD(); dd.finalize(); dd.finalize(); } @Override protected void finalize() throws Throwable { System.out.println("finalize"); super.fi...

by hongshaohu - Java - 2012-07-23 17:53:57 阅读(1225) 回复(8)

JAVA中的finalize()方法 今天早上看Thinking in java的【第四章 初始化和清除】.【 清除:终结和垃圾回收】的时候, 看到了这个东西。 用于清理滴。。。 当然,这个方法来自java.lang.Object finalize()方法的重写 权限(Access)需要是protected或者是public ,不能是private finalize()方法不需要显示地调用, 在垃圾回收(GC)时会被自动先行调用的。 据我测试,需要显示地调用垃圾回收方法(System.gc()),并且需...

by 凝望长空 - Java - 2012-02-29 14:05:34 阅读(931) 回复(2)

既然jvm有自动垃圾回收能力,还要finalize做什么?

by weichuang02 - Java - 2012-09-20 23:21:26 阅读(1335) 回复(2)

final、finally和finalize区别是什么? 这是一道再经典不过的面试题了,我们在各个公司的面试题中几乎都能看到它的身影。final、finally和finalize虽然长得像孪生三兄弟一样,但是它们的含义和用法却是大相径庭。这一次我们就一起来回顾一下这方面的知识。 final关键字 我们首先来说说final。它可以用于以下四个地方: 定义变量,包括静态的和非静态的。 定义方法的参数。 定义方法。 定义类。 我们依次来回顾一下每种情...

by sunwei0325 - Java文档中心 - 2008-07-30 09:39:07 阅读(723) 回复(0)

------------------------------------------------------------------------------------ 我想出一本名为《JAVA面试题解惑系列》的书籍,详情请见: http://rmyd.group.javaeye.com/group/topic/6193 目前网络连载中:http://zangweiren.javaeye.com/ 请大家多关注,多提宝贵意见! -------------------------------------------------------------------------------...

by 臧圩人 - Java - 2008-07-20 10:32:01 阅读(2675) 回复(5)

finalize的工作原理应该是这样的:一旦垃圾收集器准备好释放对象占用的存储空间,它首先调用finalize(),而且只有在下一次垃圾收集过程中,才会真正回收对象的内存.所以如果使用finalize(),就可以在垃圾收集期间进行一些重要的清除或清扫工作. finalize()在什么时候被调用? 有三种情况 1.所有对象被Garbage Collection时自动调用,比如运行System.gc()的时候. 2.程序退出时为每个对象调用一次finalize方法。 3.显式的调用finalize方...

by php店小二 - Java文档中心 - 2006-11-02 16:15:40 阅读(616) 回复(0)

转载自 ---- http://zhang-xzhi-xjtu.iteye.com/blog/484934 目录 基本预备相关知识 对象的销毁过程 对象重生的例子 对象的finalize的执行顺序 何时及如何使用finalize 参考 基本预备相关知识 1 java的GC只负责内存相关的清理,所有其它资源的清理必须由程序员手工完成。要不然会引起资源泄露,有可能导致程序崩溃。 2 调用GC并不保证GC实际执行。 3 finalize抛出的未捕获异常只会导致该对象的finalize执行退出...

java

by cu_Cbear - Java - 2011-08-03 20:44:36 阅读(1900) 回复(0)

不要在finalize ()中注销listeners 不要再finalize ()方法中中注销listeners,finalize ()只有再没有对象引用的时候调用,如果listeners从finalize()方法中去除了,被finalize的对象将不会在垃圾收集中去除。 我不知道上述红字部分是什么意思呢??? 请帮忙 :em14: 谢谢

by 白色乌鸦 - Java - 2004-11-25 16:34:59 阅读(950) 回复(1)

终于看到了finalize使用的副作用了.... 由于GC调用finalize的过程间隔时间比较的长,如果程序在短的时间间隔之内大量构造生命期很短的某个对象(比如Graphics), 当GC进行回收的时候,会造成大量finalize的涌塞. 因为J2ME只支持native interface的 finalize 函数, 而 native 函数调用的成本比 java 方法大很多(需要拷贝栈), 就会造成用户明显能够感受到的停顿. 但是由于其他原因, 对象没有办法接受用户Midlet发来的主动释放请求, 那么...

by nomigdweiwei - Java文档中心 - 2005-11-24 11:05:16 阅读(980) 回复(0)

RT,收尾工作,比如flush buffer什么的,不知道怎么做到?谢谢

by woqpalsk - Perl - 2006-10-31 16:56:20 阅读(1485) 回复(1)