Object类是所有类、数组、枚举类的父类,是类层次结构的根类。每个类都使用Object作为超类。所有对象(包括

数组)都实现这个类的方法。

Object类实现了以下方法:

我们来看看关于finalize()方法在源码中是如何定义的:

 protected void finalize() throws Throwable { }

关于此方法的说明:

当系统中没有引用变量引用到该对象时,垃圾回收器调用此方法来清理该对象的资源。

finalize 的常规协定是:当 JavaTM 虚拟机已确定尚未终止的任何线程无法再通过任何方法访问此对象时,将调用

此方法,除非由于准备终止的其他某个对象或类的终结操作执行了某个操作。finalize 方法可以采取任何操作,其

中包括再次使此对象对其他线程可用;不过,finalize 的主要目的是在不可撤消地丢弃对象之前执行清除操作。例

如,表示输入/输出连接的对象的 finalize 方法可执行显式 I/O 事务,以便在永久丢弃对象之前中断连接。

Object 类的 finalize 方法执行非特殊性操作;它仅执行一些常规返回。Object 的子类可以重写此定义。

Java 编程语言不保证哪个线程将调用某个给定对象的 finalize 方法。但可以保证在调用 finalize 时,调用 finalize

的线程将不会持有任何用户可见的同步锁定。如果 finalize 方法抛出未捕获的异常,那么该异常将被忽略,并且该对

象的终结操作将终止。

在启用某个对象的 finalize 方法后,将不会执行进一步操作,直到 Java 虚拟机再次确定尚未终止的任何线程无法

再通过任何方法访问此对象,其中包括由准备终止的其他对象或类执行的可能操作,在执行该操作时,对象可能被

丢弃。

对于任何给定对象,Java 虚拟机最多只调用一次 finalize 方法。

finalize 方法抛出的任何异常都会导致此对象的终结操作停止,但可以通过其他方法忽略它。

转载请注明出处:http://blog.csdn.net/hai_qing_xu_kong/article/details/43917271    情绪控_

Java学习笔记17相关推荐

  1. Head First Java学习笔记(17):包、jar存档文件和部署

    Java的部署 Java程序是由一组类所组成的,那就是开发过程的输出. 部署的选择: 1.本机:整个程序都在用户的计算机上以独立.可携的GUI执行,并以可执行的Jar来部署. 2.两种之间的组合:应用 ...

  2. Java学习笔记17:Java_Set集合_TreeSet集合_二叉树_HashSet集合

    文章目录 1.Set集合 1.1Set集合概述和特点[应用] 1.2Set集合的使用[应用] 2.TreeSet集合 2.1TreeSet集合概述和特点[应用] 2.2TreeSet集合基本使用[应用 ...

  3. Java学习笔记17(面向对象十:综合案例)

    在面向对象这个专题的最后 结合前面多篇文章,用到了面向对象的很多方面知识,做了一个简单的案例: 饭店案例: package hotel;/** 酒店的员工类* 员工共同特点:姓名,工号,工作方法*/ ...

  4. java学习笔记十三

    11. 凡是继承了FilterOutputStream或FilterInputStream的类都是过滤流,也就是说他们不能直接跟目标(键盘,文件,网络等,节点流可以)数据打交道,只能包装 Intput ...

  5. 【Java学习笔记之二十六】深入理解Java匿名内部类

    在[Java学习笔记之二十五]初步认知Java内部类中对匿名内部类做了一个简单的介绍,但是内部类还存在很多其他细节问题,所以就衍生出这篇博客.在这篇博客中你可以了解到匿名内部类的使用.匿名内部类要注意 ...

  6. Java学习笔记22:并发(2)

    Java学习笔记22:并发(2) 图源:PHP中文网 终止任务 终止线程有一种非常简单的方式:设置一个多线程共享的标记位,子线程用轮询的方式检查这个标记位,如果该标记位显示取消状态,就让子线程退出执行 ...

  7. Java学习笔记之基础篇

    Java学习笔记之基础篇 目录 Java如何体现平台的无关性? 面向对象(OO)的理解 面向对象和面向过程编程的区别 面向对象三大特征 静态绑定和动态绑定(后期绑定) 延伸:类之间的关系 组合(聚合) ...

  8. 《Java学习笔记(第8版)》学习指导

    <Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...

  9. java学习笔记:全部,txt版本

    java学习笔记:全部,txt版本 笔者注: 1.不知道怎么上传附件,所以就把txt文本内容全部贴在这里吧. 2.已经把txt版本的笔记上传到CSDN了,我没有设置索要积分才能下载,但是不知道为什么C ...

最新文章

  1. dict过滤 python_关于python:过滤dict以只包含某些键?
  2. 如何在 Windows XP 中设置、查看、更改或删除文件和文件夹的特殊权限
  3. Leetcode题库 744.寻找比目标字母大的最小字母(C实现)
  4. 管道popen和pclose的实例使用
  5. Microsoft Enterprise Library 5.0 系列(二) Cryptography Application Block (初级)
  6. java中html的树状_HTML中的树状选择
  7. JIRA中设置[描述]字段的默认值
  8. android 改机型玩王者,抱歉,Xposed真的可以为所欲为——2.改为OV机型流畅玩耍高帧率王者农药...
  9. Vue3 非常好用的中文文档以及一份 Vue 3 新文档学习笔记
  10. flash android 5.0,Adobe Flash Player
  11. node.js基于vue框架潮牌官网设计与实现毕业设计源码010955
  12. 网络安全测试工程师职能
  13. 阿里巴巴常用的 12 个后端开发工具,建议你快快收藏!
  14. Java简单设计模式
  15. lms消噪声matlab,关于LMS去噪声的仿真
  16. java-net-php-python-jspm校园闲鱼网站计算机毕业设计程序
  17. 数学分析原理 第2卷 第9版
  18. 产品思维已死? 我看未必
  19. idc服务器排名戴尔型号,IDC公布2019年全球服务器市场数据:戴尔、HPE和浪潮分列前三...
  20. 使用抓包工具下载有下载限制的视频

热门文章

  1. tensorflow 无法执行sess =tf .session ()_深度学习|费解的tensorflow
  2. c语言关键字_C语言初学者必须掌握的关键字!
  3. DeepLearning——CNN
  4. linux 安装python MySQLdb
  5. JAVA escape/unescape
  6. centos5.6无法ping,无法scp的问题解析
  7. JPA基础(二)(转)
  8. 枚举类型的定义与使用
  9. 一路去**ddss第二天
  10. linux 新建用户和权限分配