Java的析构函数System的finalize()
一个对象是由产生 到使用 到销毁的过程
即C++中 构造函数-> body->析构函数
在Java之中为了回收不需要的空间可以使用System类的finalize()
class A{
public A(){
System.out.println("A产生了!");
}
public void finalize(){
System.out.println("A消亡了!");
}
}
public class Thrd{
public static void main(String[] args) {
A a=new A();
a=null;//指向了其他,产生了垃圾
System.gc();//手工回收垃圾
}
}
结构:protected void finalize()Throws Throwable{}
抛出的是Throwable(Error+Exception)也就是说不管是否有异常,都会讲这个对象消亡
抛出异常测试:
class A{
public A(){
System.out.println("A产生了!");
}
protected void finalize() throws Throwable{
System.out.println("A消亡了!");
throw new Exception("产生了异常");//实例化异常类+抛出异常信息
}
}
public class Thrd{
public static void main(String[] args) {
A a=new A();
a=null;//指向了其他,产生了垃圾
System.gc();//手工回收垃圾
}
}
异常并没有抛出
final finally finalize区别
final关键字 定义最终类,常量
finally异常的出口
finalize对象回收的的方法,即使出现异常也不会影响执行
Java的析构函数System的finalize()的更多相关文章
- java hadoop file system API
org.apache.hadoop.fs Class FileSystem java.lang.Object org.apache.hadoop.fs.FileSystem All Implement ...
- Java连载57-equals重写、finalize方法、hashCode方法
一.关于java语言中如何比较两个字符串是否一致 1.不能使用双等号来比较两个字符串是否相等,应该使用equals方法进行比较,如例子 package com.bjpowernode.java_lea ...
- 1.Java基础之System对象
毕向东老师Java基础学习笔记——System对象 今天学习Java中的System对象后,感觉这个对象对我们主要有以下几点用处. 1.获取当前操作系统版本和类型. 2.获取当前操作系统的path中的 ...
- Java 中的System.exit
在java 中退出程序,经常会使用System.exit(1) 或 System.exit(0). 查看System.exit()方法的源码,如下 /** * Terminates the curre ...
- JAVA中的System.in
System.in读取标准输入设备数据(从标准输入获取数据,一般是键盘),其数据类型为InputStream.方法: int read() // 返回输入数值的ASCII码,,该值为0到 255范 ...
- Exception in thread "main" java.lang.IllegalArgumentException: System memory 202768384 must be at least 4.718592E8. Please use a larger heap size.
Spark-submit 提交任务时候报错 Exception in thread "main" java.lang.IllegalArgumentException: Syste ...
- 对于应用需要记录某个方法耗时的场景,必须使用clock_gettime传入CLOCK_MONOTONIC参数,该参数获得的是自系统开机起单调递增的纳秒级别精度时钟,相比gettimeofday精度提高不少,并且不受NTP等外部服务影响,能准确更准确来统计耗时(java中对应的是System.nanoTime),也就是说所有使用gettimeofday来统计耗时(java中是System.curre
对于应用需要记录某个方法耗时的场景,必须使用clock_gettime传入CLOCK_MONOTONIC参数,该参数获得的是自系统开机起单调递增的纳秒级别精度时钟,相比gettimeofday精度提高 ...
- java中的System.copyof()与Array.copyof()区别
java中的System.copyof()与Array.copyof()区别 在复制数组时我们可以使用System.copyof(),也可以使用Array.copyof(),但是它们之间是有区别的.以 ...
- Java基础 之 System.getProperty()方法
Java基础 之 System.getProperty()方法大全 public static void main(String[] args) { System.out.println(" ...
随机推荐
- DOM--4 响应用户操作和事件(2)
自定义事件 //旧的方法 //创建 var event = document.createEvent('Event'); //初始化 event.initEvent('build', true, tr ...
- 解决:未能加载文件或程序集“EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”
使用nuget管理程序包,有可能在不同时间安装不同版本的Entity Framework:在项目创建初期安装的是6.0.0.0版本,后来添加的类库,安装了6.1.1版本,所以出现这个问题. 解决办法: ...
- Dijkstra+计算几何 POJ 2502 Subway
题目传送门 题意:列车上行驶40, 其余走路速度10.问从家到学校的最短时间 分析:关键是建图:相邻站点的速度是40,否则都可以走路10的速度.读入数据也很变态. #include <cstdi ...
- javascript选取文档元素
用指定的id属性 用指定的name属性 用指定的标签名字 用指定的CSS类 匹配指定的CSS选择器 通过ID选取元素 var section1 = document.getElementById(&q ...
- 树形DP水题杂记
BZOJ1131: [POI2008]Sta 题意:给出一个N个点的树,找出一个点来,以这个点为根的树时,所有点的深度之和最大. 题解:记录每个点的深度,再根据根节点的深度和逐层推导出其他点的深度和. ...
- df卡住问题解决
windows的share文件挂载到linux/mnt/share下,当windows重启,会导致df卡住. 运行 1 umount -l /mnt/share 2 killall ...
- HDU 1072(记忆化BFS)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1072 题目大意:走迷宫.走到装置点重置时间,到达任一点时的时间不能为0,可以走重复路,求出迷宫最短时 ...
- js身份证验证-超级准!!!
function checkIdcard(idcard) { var Errors = new Array( "验证通过!", "身份证号码位数不对!", &q ...
- 【BZOJ】1535: [POI2005]Sza-Template
题意 给一个串\(s(1 \le |s| \le 500000)\),求一个最长的串,使得这个串能覆盖整个串(可以重叠). 分析 首先这个串肯定是前缀也肯定是后缀. 题解 对串kmp后,建立\(fai ...
- jQuery的Dom插入操作图示