博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java的析构函数System的finalize()
阅读量:6271 次
发布时间:2019-06-22

本文共 869 字,大约阅读时间需要 2 分钟。

一个对象是由产生 到使用 到销毁的过程

即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对象回收的的方法,即使出现异常也不会影响执行

 

转载于:https://www.cnblogs.com/void-m/p/6232394.html

你可能感兴趣的文章
C# Activex开发、打包、签名、发布 C# Activex开发、打包、签名、发布 [转]
查看>>
05-Vue入门系列之Vue实例详解与生命周期
查看>>
验证码展示
查看>>
浅谈大型web系统架构
查看>>
淘宝大秒系统设计详解
查看>>
linux如何修改登录用户密码
查看>>
Kali Linux 2017中Scapy运行bug解决
查看>>
Python监控进程性能数据并画图保存为PDF文档
查看>>
Android属性动画完全解析(下),Interpolator和ViewPropertyAnimator的用法
查看>>
Mac OS 10.10.3下Apache + mod_wsgi配置【一】
查看>>
Hibernate基于注解的双向one-to-many映射关系的实现
查看>>
算法竞赛入门经典 例题 3-2 蛇形填数
查看>>
remove-duplicates-from-sorted-list I&II——去除链表中重复项
查看>>
c++ 网络库
查看>>
Linux 格式化扩展分区(Extended)
查看>>
linux echo命令
查看>>
nginx 内置变量大全(转)
查看>>
lakala反欺诈建模实际应用代码GBDT监督学习
查看>>
java 解析excel工具类
查看>>
Google FireBase - fcm 推送 (Cloud Messaging)
查看>>