descriptorcache.java

来自「Mobile 应用程序使用 Java Micro Edition (Java M」· Java 代码 · 共 50 行

JAVA
50
字号
/* * @(#)DescriptorCache.java	1.2 05/11/17 *  * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */package com.sun.jmx.mbeanserver;import java.lang.ref.WeakReference;import java.util.WeakHashMap;import javax.management.Descriptor;import javax.management.ImmutableDescriptor;import javax.management.JMX;public class DescriptorCache {    private DescriptorCache() {    }        static DescriptorCache getInstance() {        return instance;    }        public static DescriptorCache getInstance(JMX proof) {        if (proof != null)            return instance;        else            return null;    }        public ImmutableDescriptor get(ImmutableDescriptor descriptor) {        WeakReference<ImmutableDescriptor> wr = map.get(descriptor);        ImmutableDescriptor got = (wr == null) ? null : wr.get();        if (got != null)            return got;        map.put(descriptor, new WeakReference<ImmutableDescriptor>(descriptor));        return descriptor;    }        public ImmutableDescriptor union(Descriptor... descriptors) {        return get(ImmutableDescriptor.union(descriptors));    }        private final static DescriptorCache instance = new DescriptorCache();    private final WeakHashMap<ImmutableDescriptor,                              WeakReference<ImmutableDescriptor>>        map = new WeakHashMap<ImmutableDescriptor,                              WeakReference<ImmutableDescriptor>>();}

⌨️ 快捷键说明

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