zoukankan      html  css  js  c++  java
  • Java内存释放——《Thinking in Java》随笔004

     1 package cn.skyfffire;
     2 
     3 /**
     4  * 
     5  * @author skyfffire
     6  *
     7  */
     8 public class Test {
     9     static boolean gcrun = false;        // GC是垃圾回收器
    10     static boolean f = false;            // 终止创建对象的条件
    11     static int created = 0;                // 对象个数计数器
    12     static int finalized = 0;            // 对象销毁
    13     int i;
    14     
    15     Test() {
    16         i = ++created;
    17         
    18         if (created == 47) {
    19             System.out.println("已经达到47个");
    20         }
    21     }
    22     
    23     protected void finalize() {
    24         if (!gcrun) {
    25             gcrun = true;
    26             
    27             System.out.println(created + "号对象创建完毕");
    28         }
    29         
    30         if (i >= 47) {
    31             System.out.println("47以上了");
    32             
    33             f = true;
    34         }
    35         
    36         finalized++;
    37         
    38         if (finalized >= created) {
    39             System.out.println("所有对象销毁完毕");
    40         }
    41     }
    42 }
    43 
    44 class Garbage {
    45     public static void main(String[] args) {
    46         if (args.length == 0) {
    47             System.err.println("请加上参数");
    48             
    49             return;
    50         }
    51         
    52         while (!Test.f) {
    53             new Test();
    54         }
    55         
    56         System.out.println(Test.created + "---" + Test.finalized);
    57         
    58         if (args[0].equals("before")) {
    59             System.out.println("gc");
    60             System.gc();
    61             System.out.println("runFinalization():");
    62             System.runFinalization();
    63         }
    64 //        
    65 //        if (args[0].equals("after")) {
    66 ////            System.runFinalizersOnExit(false);
    67 //        }
    68     }
    69 }
  • 相关阅读:
    grep 和vim用法
    【python】初识函数
    【python】 文件相关操作
    【python】基础数据类型相关知识点补充和深浅拷贝
    【python】is和==的区别以及encode()和decode()
    python中的字典以及相关操作
    python列表元祖以及range
    python基本数据类型
    python基础逻辑运算
    了解Python与安装Python解释器
  • 原文地址:https://www.cnblogs.com/skyfffire/p/6444367.html
Copyright © 2011-2022 走看看