• Java 读书笔记 (十四) Java 方法


    finalize() 方法

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

    1 protected void finalize()
    2 {
    3 //在这里终结代码
    4 }

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

    实例:

     1 public class FinalizationDemo {
     2     public static void main(String[]args){
     3         Cake c1=new Cake(1);
     4         Cake c1=new Cake(2); 
     5         Cake c1=new Cake(3);
     6 
     7          c2=c3=null;
     8          System.gc();   //调用Java垃圾收集器
     9       }
    10 }
    11 
    12 class Cake extends Object{
    13     private int id;
    14     public Cake(int id){
    15         this.id=id;
    16         System.out.println("Cake Object"+id+"is created");
    17      }
    18      protected void finalize() throws java.lang.Throwable{
    19          super.finalize();
    20          System.out.println("Cake Object"+id+"is disposed");
    21      }
    22 }
    23 
    24 
    25 /* 执行以上代码, 输出结果如下:
    26     $ javac FinalizationDemo.java
    27     $ java FinalizationDemo
    28     Cake Object 1is created
    29     Cake Object 2is created
    30     Cake Object 3is created
    31     Cake Object 2is disposed
    32     Cake Object 1is disposed
  • 相关阅读:
    CF460 A. Vasya and Socks
    HDU-2159FATE(二维完全背包)
    HDU-2844 Coins(多重背包)
    POJ 1014 Dividing(多重背包)
    HDU2191(多重背包)
    数据结构课程设计:稀疏矩阵(加、减、乘、求逆矩阵)
    (转载)线段树模板(来自胡浩大牛)
    poj2386(简单dfs)
    Poj1852
    poj2109
  • 原文地址:https://www.cnblogs.com/cheese320/p/8110147.html
Copyright © 2020-2023  润新知