Modifier and Type | Method and Description |
---|---|
static <E> Function<E,E> |
asFunction(Interner<E> interner)
Returns a function that delegates to the
Interner.intern(E) method of the given interner. |
static <E> Interner<E> |
newStrongInterner()
Returns a new thread-safe interner which retains a strong reference to each instance it has interned, thus preventing these instances from being garbage-collected.
|
static <E> Interner<E> |
newWeakInterner()
Returns a new thread-safe interner which retains a weak reference to each instance it has interned, and so does not prevent these instances from being garbage-collected.
|
public static <E> Interner<E> newStrongInterner()
Returns a new thread-safe interner which retains a strong reference to each instance it has interned, thus preventing these instances from being garbage-collected. If this retention is acceptable, this implementation may perform better than newWeakInterner()
. Note that unlike String.intern()
, using this interner does not consume memory in the permanent generation.
@GwtIncompatible(value="java.lang.ref.WeakReference") public static <E> Interner<E> newWeakInterner()
Returns a new thread-safe interner which retains a weak reference to each instance it has interned, and so does not prevent these instances from being garbage-collected. This most likely does not perform as well as newStrongInterner()
, but is the best alternative when the memory usage of that implementation is unacceptable. Note that unlike String.intern()
, using this interner does not consume memory in the permanent generation.
public static <E> Function<E,E> asFunction(Interner<E> interner)
Returns a function that delegates to the Interner.intern(E)
method of the given interner.