zoukankan      html  css  js  c++  java
  • java 垃圾回收的陷阱~

    //: Garbage.java
    // Demonstration of the garbage collector and finalization
    class Chair {
    	static boolean gcrun = false;
    	static boolean f = false;
    	static int created = 0;
    	static int finalized = 0;
    	int i;
    
    	Chair() {
    		i = ++created;
    		if (created == 47)
    			System.out.println("Created 47");
    	}
    
    	protected void finalize() {
    		if (!gcrun) {
    			gcrun = true;
    			System.out.println("Beginning to finalize after " + created
    					+ " Chairs have been created");
    		}
    		if (i == 47) {
    			System.out.println("Finalizing Chair #47, "
    					+ "Setting flag to stop Chair creation");
    			f = true;
    		}
    		finalized++;
    		if (finalized >= created)
    			System.out.println("All " + finalized + " finalized");
    	}
    }
    
    public class Garbage {
    	public static void main(String[] args) {
    		if (args.length == 0) {
    			System.err.println("Usage: \n" + "java Garbage before\n or:\n"
    					+ "java Garbage after");
    			return;
    		}
    		while (!Chair.f) {
    			new Chair();
    			new String("To take up space");
    		}
    		System.out.println("After all Chairs have been created:\n"
    				+ "total created = " + Chair.created + ", total finalized = "
    				+ Chair.finalized);
    		if (args[0].equals("before")) {
    			System.out.println("gc():");
    			System.gc();
    			System.out.println("runFinalization():");
    			System.runFinalization();
    		}
    		System.out.println("bye!");
    		if (args[0].equals("after"))
    			System.runFinalizersOnExit(true);
    	}
    } // /:~
    

      

  • 相关阅读:
    fastjson 简单使用 及其JSONObject使用
    HttpClient 的使用
    python操作excel xlwt (转)
    matplotlib 设置标题 xy标题等
    matplotlib 饼状图
    Mac下面 matplotlib 中文无法显示解决
    matplotlib 折线图
    matplotlib条形图
    matplotlib直方图
    python matplotlib配置
  • 原文地址:https://www.cnblogs.com/steady/p/2594486.html
Copyright © 2011-2022 走看看