1 package thinking.in.java.demo;
 2
 3 /*
 4  * finalize的用途何在?
 5  *
 6  *本例的终止条件是L所有的Book对象在被当做垃圾回收前都应该被签入。但是在main方法中
 7  *由于程序员的错误,有一本书没有被录入,要是没有finalize方法来验证终止条件,将很难发现这种缺陷
 8  *注意:System.gc()用于强制进行终止动作,即使不这样做,多执行几次应用程序,分配大量的存储空间
 9  *最终也会导致垃圾回收动作的执行
10  *
11  */
12 class Book{
13     boolean checkout=false;
14     public Book(boolean checkout){
15         this.checkout=checkout;
16     }
17     void checkIn(){
18         checkout=false;
19     }
20     protected void finalize() throws Throwable{
21         super.finalize();
22         System.out.println("Error checkIn");
23     }
24 }
25 public class Testpage89 {
26
27     /**
28      * @param args
29      */
30     public static void main(String[] args) {
31         Book novel=new Book(true);
32         novel.checkIn();
33         new Book(true);
34         System.gc();
35     }
36
37 }

参见java编程思想第四版:87-89页的内容

转载于:https://www.cnblogs.com/ysw-go/p/5326892.html

Java中finalize方法用途何在?相关推荐

  1. Java 中finalize()方法起什么作用呢?

    转自: Java 中finalize()方法起什么作用呢? Java之finalize()方法功能说明 当我们在一个类中定义了finalize()方法时, 如果一个对象被垃圾收集器析构(回收)之前,则 ...

  2. Java中finalize()方法的使用

     1.finalize()方法是什么? finalize()方法是Object类提供的方法,在GC(垃圾回收器)准备释放对象所占用的内存空间之前,它将首先调用finalize()方法.其在Object ...

  3. java中finalize()方法

    finalize 垃圾回收机器(Garbage Collection),也叫GC,垃圾回收器主要有一下特点: 当对象不再被程序所使用的时候,垃圾回收器将会将其回收 垃圾回收是在后台运行的,我们无法命令 ...

  4. Java中finalize方法的使用(经典白学,新idk已经弃用)

    在jdk文档中,其解释为当垃圾回收器确定不存在对该对象的更多的引用时,由对象的垃圾回收器调用此方法. 什么情况下会被回收:某个对象没有任何引用时,则jvm就认为这个对象是一个垃圾对象,用垃圾回收机制调 ...

  5. Java中finalize方法

    前沿:在面试过程中我们可能会被问到final.finally.finalize的区别?本篇文章将介绍finalize的简单用法. Finalize()是Object类的方法. 在GC准备释放对象所占用 ...

  6. Java中finalize()用法

    Java中finalize() 垃圾回收器要回收对象的时候,首先要调用这个类的finalize方法(你可以 写程序验证这个结论),一般的纯Java编写的Class不需要重新覆盖这个方法,因为Objec ...

  7. 使用java中replaceAll方法替换字符串中的反斜杠

    今天在项目中使用java中replaceAll方法将字符串中的反斜杠("\")替换成空字符串(""),结果出现如下的异常: 1 java.util.regex. ...

  8. java中collection方法_Java 8中的Collector toCollection()方法

    toCollection()Java中的Collector类的方法返回一个Collector,该Collector以遇到的顺序将输入元素累积到一个新的Collection中. 语法如下static & ...

  9. java 返回值判断_在Java中判断方法重载的条件除了参数外,还可以通过返回值类型判断。_学小易找答案...

    [单选题]若int x;且有下面的程序片断,则输出结果是() . for (x=3; x<6; x++) { printf((x%2) ? "##%d" : "** ...

最新文章

  1. js图片轮换显示实例(转载)
  2. node.js项目应用
  3. NSIS:超级轻量皮肤SkinH
  4. Android中WebView加载sdcard中的html时提示:ERR_FILE_NOT_FOUND和ERR_ACCESS_DENIED
  5. mysql中如何计算党龄_党员的党龄如何计算?
  6. china-pub近7日计算机图书排行榜
  7. 广金计算机网络有限公司怎么样,广东金融学院到底怎么样!?
  8. 恶意软件可以使用风扇噪音盗取数据
  9. 将业务做到遍布全球,需要多大的IT运维团队?
  10. 数据分析SQL日期维度表生成(含节假日)
  11. Redis:字符串MSET、MSETNX、MGET命令介绍
  12. 爬取当当网评论(1)
  13. ACCESS使用技巧三则
  14. HIT信息安全概论复习:1~10
  15. 你真的了解“药品追溯码”吗?
  16. 算法模型评价详解:confusion matrix Accuracy Precision Recall F1 调和平均 加权F1 Micro-F1 Macro-F1 PRC ROC AUC
  17. DDR,DDR2,DDR3,SDRAM比较区别
  18. Spring Framework Integration 官方文档笔记
  19. iOS 后台运行一段时间(不是地图,音乐类型APP)
  20. 读完清华和斯坦福,还是找不到工作的背后

热门文章

  1. python入门编程软件免费-Python 3.7.0编程软件免费下载
  2. 爬虫python需要什么软件-Python爬虫需要学习那些东西?
  3. 自学python视频教学-想自学Python,不知道网络上的教学视频有用没有?
  4. python到底可以做什么-Python到底可以做什么?
  5. 学python买什么书好-学python3什么书好
  6. python下什么-什么是Python?最全的python百科
  7. python3入门教程-Python3 入门教程 简单但比较不错
  8. python 打开文件-Python open()文件处理使用介绍
  9. python银行系统-菲菲用python模拟银行系统
  10. python编程入门到实践目录-Python编程从入门到实践笔记——文件