Java中finalize方法用途何在?
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方法用途何在?相关推荐
- Java 中finalize()方法起什么作用呢?
转自: Java 中finalize()方法起什么作用呢? Java之finalize()方法功能说明 当我们在一个类中定义了finalize()方法时, 如果一个对象被垃圾收集器析构(回收)之前,则 ...
- Java中finalize()方法的使用
1.finalize()方法是什么? finalize()方法是Object类提供的方法,在GC(垃圾回收器)准备释放对象所占用的内存空间之前,它将首先调用finalize()方法.其在Object ...
- java中finalize()方法
finalize 垃圾回收机器(Garbage Collection),也叫GC,垃圾回收器主要有一下特点: 当对象不再被程序所使用的时候,垃圾回收器将会将其回收 垃圾回收是在后台运行的,我们无法命令 ...
- Java中finalize方法的使用(经典白学,新idk已经弃用)
在jdk文档中,其解释为当垃圾回收器确定不存在对该对象的更多的引用时,由对象的垃圾回收器调用此方法. 什么情况下会被回收:某个对象没有任何引用时,则jvm就认为这个对象是一个垃圾对象,用垃圾回收机制调 ...
- Java中finalize方法
前沿:在面试过程中我们可能会被问到final.finally.finalize的区别?本篇文章将介绍finalize的简单用法. Finalize()是Object类的方法. 在GC准备释放对象所占用 ...
- Java中finalize()用法
Java中finalize() 垃圾回收器要回收对象的时候,首先要调用这个类的finalize方法(你可以 写程序验证这个结论),一般的纯Java编写的Class不需要重新覆盖这个方法,因为Objec ...
- 使用java中replaceAll方法替换字符串中的反斜杠
今天在项目中使用java中replaceAll方法将字符串中的反斜杠("\")替换成空字符串(""),结果出现如下的异常: 1 java.util.regex. ...
- java中collection方法_Java 8中的Collector toCollection()方法
toCollection()Java中的Collector类的方法返回一个Collector,该Collector以遇到的顺序将输入元素累积到一个新的Collection中. 语法如下static & ...
- java 返回值判断_在Java中判断方法重载的条件除了参数外,还可以通过返回值类型判断。_学小易找答案...
[单选题]若int x;且有下面的程序片断,则输出结果是() . for (x=3; x<6; x++) { printf((x%2) ? "##%d" : "** ...
最新文章
- js图片轮换显示实例(转载)
- node.js项目应用
- NSIS:超级轻量皮肤SkinH
- Android中WebView加载sdcard中的html时提示:ERR_FILE_NOT_FOUND和ERR_ACCESS_DENIED
- mysql中如何计算党龄_党员的党龄如何计算?
- china-pub近7日计算机图书排行榜
- 广金计算机网络有限公司怎么样,广东金融学院到底怎么样!?
- 恶意软件可以使用风扇噪音盗取数据
- 将业务做到遍布全球,需要多大的IT运维团队?
- 数据分析SQL日期维度表生成(含节假日)
- Redis:字符串MSET、MSETNX、MGET命令介绍
- 爬取当当网评论(1)
- ACCESS使用技巧三则
- HIT信息安全概论复习:1~10
- 你真的了解“药品追溯码”吗?
- 算法模型评价详解:confusion matrix Accuracy Precision Recall F1 调和平均 加权F1 Micro-F1 Macro-F1 PRC ROC AUC
- DDR,DDR2,DDR3,SDRAM比较区别
- Spring Framework Integration 官方文档笔记
- iOS 后台运行一段时间(不是地图,音乐类型APP)
- 读完清华和斯坦福,还是找不到工作的背后
热门文章
- python入门编程软件免费-Python 3.7.0编程软件免费下载
- 爬虫python需要什么软件-Python爬虫需要学习那些东西?
- 自学python视频教学-想自学Python,不知道网络上的教学视频有用没有?
- python到底可以做什么-Python到底可以做什么?
- 学python买什么书好-学python3什么书好
- python下什么-什么是Python?最全的python百科
- python3入门教程-Python3 入门教程 简单但比较不错
- python 打开文件-Python open()文件处理使用介绍
- python银行系统-菲菲用python模拟银行系统
- python编程入门到实践目录-Python编程从入门到实践笔记——文件