一个对象null,gc后依然可以绝境求生
来源:互联网 发布:淘宝窗帘代理加盟 编辑:程序博客网 时间:2024/04/27 03:24
package com.xiuye.unkonwn;public class FinalizeEscapeGC {public static FinalizeEscapeGC SAVE_HOOK = null;public void isAlive(){System.out.println("yes,I am still alive :");}@Overrideprotected void finalize() throws Throwable {super.finalize();System.out.println("finalize method executed!");FinalizeEscapeGC.SAVE_HOOK = this;}public static void main(String[] args) {SAVE_HOOK = new FinalizeEscapeGC();//first save itself successfullySAVE_HOOK = null;System.gc();//because of Finalizer's priority is lower,sleep 0.5s to wait it.try {Thread.sleep(500);} catch (InterruptedException e) {e.printStackTrace();}if(SAVE_HOOK != null){SAVE_HOOK.isAlive();}else{System.out.println("no,I am dead...");}//second save itselfSAVE_HOOK = null;System.gc();//because of Finalizer's priority is lower,sleep 0.5s to wait it.try {Thread.sleep(500);} catch (InterruptedException e) {e.printStackTrace();}if(SAVE_HOOK != null){SAVE_HOOK.isAlive();}else{System.out.println("no,I am dead...");}}}
结果:
finalize method executed!
yes,I am still alive :
no,I am dead...
0 0
- 一个对象null,gc后依然可以绝境求生
- ASP.NET动态创建控件之绝境求生
- ASP.NET动态创建控件之绝境求生
- ASP.NET动态创建控件之绝境求生
- ASP.NET动态创建控件之绝境求生第一页
- ASP.NET动态创建控件之绝境求生第二页
- ASP.NET动态创建控件之绝境求生第三页
- 一个老兵妻子的绝境
- android本地推送(退出app后依然可以)
- 智慧可以求生
- JVM GC一个对象的朝生夕死
- 对象删除后,指针要赋值NULL
- 当一个线程进入一个对象的synchronized() 方法后,其他线程是否可以进入此对象的其他方法
- 新手--从网络加载图片并存储在本地,断开网络后依然可以显示图片
- 文件映射mmap、msync、munmap(open后建立文件映射,close后文件映射依然存在,msync依然可以实现同步)
- 室内高尔夫依然可以高杆
- null是否是一个对象的问题
- 对象指针为NULL,为什么还是可以调用成员函数
- 面向对象学习--嵌套类(Nested Class)
- 算法—判断整数序列是不是二元查找树的后序遍历结果
- Cmake environmental variables: how to make find_package, find_path and find_library work
- cocos2d js 使用 cocos studio 合图出现的黑线
- 几句话弄清楚Java参数传值还是传引用
- 一个对象null,gc后依然可以绝境求生
- leetcode Remove Nth Node From End of List java编程学习(七)
- Hadoop 工作原理
- core问题总结
- map 的遍历
- java scanner next nextline nextint区别
- JavaScript中函数参数的值传递和引用传递
- android日志工具类
- Uva 12504-Updating a Dictionary(STL, map)