`
只帅一次
  • 浏览: 32515 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java编程思想练习题-第5章练习10-finalize方法1

阅读更多

题目:编写具有finalize方法的类,并在方法中打印消息。在main中为该类创建一个对象。试着解释这个程序的行为。

分析:大多数时候我们不需要编写finalize方法,因为jvm垃圾回收器已经帮我们做好了一切,我们什么时候需要它呢?如果我们的对象不是new获得的内存空间,或者调用了naive方法,在方法中用其他方式获得内存空间,我们需要finalize方法告诉编译器如何释放内存空间。

它的工作流程如下:一旦垃圾回收器准备释放对象的空间,先调用其finalize方法,在下一次垃圾回收动作发生的时候,才会真正的回收。

我们需要注意的是fianlize方法并不是析构方法,它可能永远不会被调用

package iteye;

public class test {
	
	@Override
	public void finalize(){
		System.out.println("start finalize  "+this);
	}
	public static void main(String[] args)  {
		test t=new test();
		t=null;
		System.gc();
	
	}
}

 运行之后我们发现时而又输出,时而没有,这就说明了finalize的不确定性。

 

 

 

分享到:
评论

相关推荐

    Thinking in Java 中文第四版+习题答案

    第5章 隐藏实施过程 5.1 包:库单元 5.1.1 创建独一无二的包名 5.1.2 自定义工具库 5.1.3 利用导入改变行为 5.1.4 包的停用 5.2 Java访问指示符 5.2.1 “友好的” 5.2.2 public:接口访问 5.2.3 private:不能接触 ...

    Java中finalize()的用法

    配方详细介绍了在Java中finalize()的用法。

    【IT十八掌徐培成】Java基础第26天-03.JVM结构-finalize-gc.zip

    【IT十八掌徐培成】Java基础第26天-03.JVM结构-finalize-gc.zip

    Java中finalize方法使用.doc

    Java中finalize方法使用

    AIC的Java课程1-6章

    第5 版 清华大学出版社  “SCJP学习指南” 人民邮电出版社  “Java 编程思想” 第3版 机械工业出版社  教学内容和要求 知识点 重要程度 使用频度 难度 Java 入门 高 中 易 变量和运算符 高 ...

    Thinking in java4(中文高清版)-java的'圣经'

    4.4 Foreach语法 4.5 return 4.6 break和 continue 4.7 臭名昭著的“goto” 4.8 switch 4.9 总结 第5章 初始化与清理 5.1 用构造器确保初始化 5.2 方法重载 5.2.1 区分重载方法 5.2.2 涉及基本类型的重载 5.2.3 以...

    java 编程入门思考

    第5章 隐藏实施过程 5.1 包:库单元 5.1.1 创建独一无二的包名 5.1.2 自定义工具库 5.1.3 利用导入改变行为 5.1.4 包的停用 5.2 Java访问指示符 5.2.1 “友好的” 5.2.2 public:接口访问 5.2.3 private:不能接触 ...

    Object类的finalize的用法1---马克-to-win java视频

    Object类 finalize 马克-to-win java视频的详细描述

    Java中finalize方法.pdf

    Java中finalize方法.pdf 学习资料 复习资料 教学资源

    编程思想下篇

    第5章 初始化与清理 5.1 用构造器确保初始化 5.2 方法重载 5.2.1 区分重载方法 5.2.2 涉及基本类型的重载 5.2.3 以返回值区分重载方法 5.3 缺省构造器 5.4 this关键字 5.4.1 在构造器中调用构造器 5.4.2 static的...

    Object类的finalize的用法2---马克-to-win java视频

    Object类 finalize 马克-to-win java视频 的详细描述介绍

    Java禁止使用finalize方法共2页.pdf.zip

    Java禁止使用finalize方法共2页.pdf.zip

    详解Java编程中final,finalize,finally的区别

    主要介绍了详解Java编程中final,finalize,finally的区别,这个在Java面试题中简直是太常见了...需要的朋友可以参考下

    java编程常见面试题目

    第一,谈谈final, finally, finalize的区别。   第二,Anonymous Inner Class (匿名内部类) 是否可以...第五,HashMap和Hashtable的区别。   第六,Collection 和 Collections的区别。

    JAVA_Thinking in Java(中文版 由yyc,spirit整理).chm

    第5章 隐藏实施过程 5.1 包:库单元 5.1.1 创建独一无二的包名 5.1.2 自定义工具库 5.1.3 利用导入改变行为 5.1.4 包的停用 5.2 Java访问指示符 5.2.1 “友好的” 5.2.2 public:接口访问 5.2.3 private:不能接触 ...

    Java面试题及答案-java面试题

    Java 中的 final、finally 和 finalize 关键字有什么区别? final:当用“final”关键字声明一个变量时,它的值一旦被赋值就不能改变。当使用“final”关键字声明方法时,它不能在子类中被覆盖。当用“final”...

    Java初学者入门教学

    第5章 隐藏实施过程 5.1 包:库单元 5.1.1 创建独一无二的包名 5.1.2 自定义工具库 5.1.3 利用导入改变行为 5.1.4 包的停用 5.2 Java访问指示符 5.2.1 “友好的” 5.2.2 public:接口访问 5.2.3 private:不能接触 ...

    java初学者必看

    第5章 字符串 5.1 字符串简介 5.1.1 字符串常量 5.1.2 String创建字符串常量 5.1.3 StringBuffer创建字符串 5.2 连接字符串 5.2.1 与字符串的连接 5.2.2 与其他数据类型的连接 5.3 String字符串操作 5.3.1 ...

    java联想(中文)

    第5章 隐藏实施过程 5.1 包:库单元 5.1.1 创建独一无二的包名 5.1.2 自定义工具库 5.1.3 利用导入改变行为 5.1.4 包的停用 5.2 Java访问指示符 5.2.1 “友好的” 5.2.2 public:接口访问 5.2.3 private:不能接触 ...

    Java禁止使用finalize方法

    主要介绍了Java禁止使用finalize方法,需要的朋友可以参考下

Global site tag (gtag.js) - Google Analytics