Top Description Inners Fields Constructors Methods
sun.rmi.server

public abstract Class WeakClassHashMap<V>

extends Object
Class Inheritance
Known Direct Subclasses
java.rmi.server.RemoteObjectInvocationHandler.MethodToHash_Maps, sun.rmi.server.UnicastServerRef.HashToMethod_Maps
Imports
java.lang.ref.Reference, .SoftReference, java.util.Map, .WeakHashMap

Abstract class that maps Class objects to lazily-computed values of type V. A concrete subclass must implement the computeValue method to determine how the values are computed. The keys are only weakly reachable through this map, so this map does not prevent a class (along with its class loader, etc.) from being garbage collected if it is not otherwise strongly reachable. The values are only softly reachable through this map, so that the computed values generally persist while not otherwise strongly reachable, but their storage may be reclaimed if necessary. Also, note that if a key is strongly reachable from a value, then the key is effectively softly reachable through this map, which may delay garbage collection of classes (see 4429536).

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class

Field Summary

Modifier and TypeField and Description
private Map<Class<?>, WeakClassHashMap.ValueCell<V>>

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
protected abstract V
computeValue(Class<?> remoteClass)

public V
get(Class<?> remoteClass)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

internalMapback to summary
private Map<Class<?>, WeakClassHashMap.ValueCell<V>> internalMap

Constructor Detail

WeakClassHashMapback to summary
protected WeakClassHashMap()

Method Detail

computeValueback to summary
protected abstract V computeValue(Class<?> remoteClass)
getback to summary
public V get(Class<?> remoteClass)
sun.rmi.server back to summary

private Class WeakClassHashMap.ValueCell<T>

extends Object
Class Inheritance

Field Summary

Modifier and TypeField and Description
pack-priv Reference<T>

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

refback to summary
pack-priv Reference<T> ref

Constructor Detail

ValueCellback to summary
pack-priv ValueCell()