finalize() 方法

finalize() 用来清除回收对象。  //为什么要回收内存?怎样写可以避免内存过多占用?什么时候需要手动回收内存?

 protected void finalize()
{
//在这里终结代码
}

关键字protected 是一个限定符,它确保finalize()方法不会被该类以外的代码调用。
Java的内存回收可以由JVM来自动完成。如果手动使用,可以使用上面的方法。

实例:

 public class FinalizationDemo {
public static void main(String[]args){
Cake c1=new Cake(1);
Cake c1=new Cake(2);
Cake c1=new Cake(3); c2=c3=null;
System.gc(); //调用Java垃圾收集器
}
} class Cake extends Object{
private int id;
public Cake(int id){
this.id=id;
System.out.println("Cake Object"+id+"is created");
}
protected void finalize() throws java.lang.Throwable{
super.finalize();
System.out.println("Cake Object"+id+"is disposed");
}
} /* 执行以上代码, 输出结果如下:
$ javac FinalizationDemo.java
$ java FinalizationDemo
Cake Object 1is created
Cake Object 2is created
Cake Object 3is created
Cake Object 2is disposed
Cake Object 1is disposed

最新文章

  1. 错误:The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
  2. 洛谷P2746 [USACO5.3]校园网Network of Schools
  3. CentOS联网
  4. JAVA CAS原理深度分析
  5. POJ 1716 Integer Intervals
  6. UVA - 10239 The Book-shelver's Problem
  7. 为什么要使用Nginx?
  8. Unity在安卓的一些路径
  9. Docker 镜像小结 - 每天5分钟玩转 Docker 容器技术(21)
  10. 十类经典office实用技巧
  11. 【mongodb系统学习之五】mongodb启动最常用参数
  12. visual studio 2010 Error: IntelliSense: identifier "DWORD" is undefined
  13. 【JVM】-NO.116.JVM.1 -【JDK11 HashMap详解-5-红黑树】
  14. fast.ai(零)windows + pytorch 0.4
  15. 读取Excel的记录并导入SQL数据库
  16. 【Android UI设计与开发】第04期:引导界面(四)仿人人网V5.9.2最新版引导界面
  17. HDU 4585
  18. Entity Framework底层操作封装V2版本号(2)
  19. django之设置分页
  20. CocurrentHashMap和HashTable区别分析

热门文章

  1. HBase 二级索引与Join
  2. ubuntu安装qq教程
  3. Github上的原文XMPP环境搭建步骤,英语能力差不多的可以看看
  4. 超精简易用cocoaPods的安装和使用
  5. Numpy快速入门——shape属性,你秒懂了吗
  6. 修改 CKEditor 超链接的默认协议
  7. 第15章-输入/输出 --- 理解Java的IO流
  8. HP 3par多路径安装方法
  9. for循环之后的return
  10. Java并发-容器