⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 objectkeeper.java

📁 java与模式 一书的源码
💻 JAVA
字号:
package com.javapatterns.singleton.demos;


import java.util.Vector;

    /**
    * This class keeps your objects from garbage collected
    */
public class ObjectKeeper extends Thread {

    private ObjectKeeper()
    {
        new Thread(this).start();
    }

    public void run()
    {
        try
        {
            join();
        }
        catch (InterruptedException e)
        {

        }
    }

    /**
    * Any object passed here will be kept until you call discardObject()
    */
    public static void keepObject(Object myObject)
    {
		System.out.println(" Total number of kept objects: " + m_keptObjects.size());
		m_keptObjects.add(myObject);
		System.out.println(" Total number of kept objects: " + m_keptObjects.size());
    }

    /**
    * This method will remove the protect of the object you pass in and make it
    * available for Garbage Collector to collect.
    */
    public static void discardObject(Object myObject)
    {
        System.out.println(" Total number of kept objects: " + m_keptObjects.size());
        m_keptObjects.remove(myObject);
        System.out.println(" Total number of kept objects: " + m_keptObjects.size());
    }

    /**
     * @label Creates
     */
    private static ObjectKeeper m_keeper = new ObjectKeeper();
    private static Vector m_keptObjects = new Vector();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -