<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> | |
<!-- NewPage --> | |
<html lang="en"> | |
<head> | |
<!-- Generated by javadoc (1.8.0) on Sun Aug 28 20:43:04 EST 2016 --> | |
<title>org.apache.river.concurrent (Apache River v3.0.0 API Documentation (internals))</title> | |
<meta name="date" content="2016-08-28"> | |
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style"> | |
<script type="text/javascript" src="../../../../script.js"></script> | |
</head> | |
<body> | |
<script type="text/javascript"><!-- | |
try { | |
if (location.href.indexOf('is-external=true') == -1) { | |
parent.document.title="org.apache.river.concurrent (Apache River v3.0.0 API Documentation (internals))"; | |
} | |
} | |
catch(err) { | |
} | |
//--> | |
</script> | |
<noscript> | |
<div>JavaScript is disabled on your browser.</div> | |
</noscript> | |
<!-- ========= START OF TOP NAVBAR ======= --> | |
<div class="topNav"><a name="navbar.top"> | |
<!-- --> | |
</a> | |
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div> | |
<a name="navbar.top.firstrow"> | |
<!-- --> | |
</a> | |
<ul class="navList" title="Navigation"> | |
<li><a href="../../../../overview-summary.html">Overview</a></li> | |
<li class="navBarCell1Rev">Package</li> | |
<li>Class</li> | |
<li><a href="package-use.html">Use</a></li> | |
<li><a href="package-tree.html">Tree</a></li> | |
<li><a href="../../../../deprecated-list.html">Deprecated</a></li> | |
<li><a href="../../../../index-all.html">Index</a></li> | |
<li><a href="../../../../help-doc.html">Help</a></li> | |
</ul> | |
</div> | |
<div class="subNav"> | |
<ul class="navList"> | |
<li><a href="../../../../org/apache/river/collection/package-summary.html">Prev Package</a></li> | |
<li><a href="../../../../org/apache/river/config/package-summary.html">Next Package</a></li> | |
</ul> | |
<ul class="navList"> | |
<li><a href="../../../../index.html?org/apache/river/concurrent/package-summary.html" target="_top">Frames</a></li> | |
<li><a href="package-summary.html" target="_top">No Frames</a></li> | |
</ul> | |
<ul class="navList" id="allclasses_navbar_top"> | |
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li> | |
</ul> | |
<div> | |
<script type="text/javascript"><!-- | |
allClassesLink = document.getElementById("allclasses_navbar_top"); | |
if(window==top) { | |
allClassesLink.style.display = "block"; | |
} | |
else { | |
allClassesLink.style.display = "none"; | |
} | |
//--> | |
</script> | |
</div> | |
<a name="skip.navbar.top"> | |
<!-- --> | |
</a></div> | |
<!-- ========= END OF TOP NAVBAR ========= --> | |
<div class="header"> | |
<h1 title="Package" class="title">Package org.apache.river.concurrent</h1> | |
<div class="docSummary"> | |
<div class="block"> | |
Custard-apple is a utility that enables weak, soft, strong | |
or time references to be used in any collection implementing standard | |
Java Framework Interfaces | |
Expected behaviour of reference types may vary between platforms | |
and should not be depended upon other than; weak references will | |
be collected when no further strong references remain and soft | |
references may be collected at any time the JVM's available memory | |
is under pressure and the referent is softly reachable.</div> | |
</div> | |
<p>See: <a href="#package.description">Description</a></p> | |
</div> | |
<div class="contentContainer"> | |
<ul class="blockList"> | |
<li class="blockList"> | |
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation"> | |
<caption><span>Interface Summary</span><span class="tabEnd"> </span></caption> | |
<tr> | |
<th class="colFirst" scope="col">Interface</th> | |
<th class="colLast" scope="col">Description</th> | |
</tr> | |
<tbody> | |
<tr class="altColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/ReferenceQueuingFactory.html" title="interface in org.apache.river.concurrent">ReferenceQueuingFactory</a><O,R></td> | |
<td class="colLast"> | |
<div class="block">An interface for processing ReferenceQueue's and encapsulating Objects | |
in references and for making references appear as their referent.</div> | |
</td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/Referrer.html" title="interface in org.apache.river.concurrent">Referrer</a><T></td> | |
<td class="colLast"> | |
<div class="block"> | |
The public API of package private Reference implementations, it defines the equals | |
and hashCode contracts as well as methods identical to Reference.</div> | |
</td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/RefQueue.html" title="interface in org.apache.river.concurrent">RefQueue</a><T></td> | |
<td class="colLast"> | |
<div class="block">This interface defines the only ReferenceQueue method used, | |
to not depend directly on ReferenceQueue, allowing the use of other Queue | |
implementations.</div> | |
</td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/TimeBomb.html" title="interface in org.apache.river.concurrent">TimeBomb</a></td> | |
<td class="colLast"> </td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/UntouchableReferrer.html" title="interface in org.apache.river.concurrent">UntouchableReferrer</a><T></td> | |
<td class="colLast"> </td> | |
</tr> | |
</tbody> | |
</table> | |
</li> | |
<li class="blockList"> | |
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation"> | |
<caption><span>Class Summary</span><span class="tabEnd"> </span></caption> | |
<tr> | |
<th class="colFirst" scope="col">Class</th> | |
<th class="colLast" scope="col">Description</th> | |
</tr> | |
<tbody> | |
<tr class="altColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/AbstractReferenceComparator.html" title="class in org.apache.river.concurrent">AbstractReferenceComparator</a><T></td> | |
<td class="colLast"> | |
<div class="block">Implements equals and hashCode, subclass ReferenceComparator implements | |
Serializable and contains serial data.</div> | |
</td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/AbstractReferrerDecorator.html" title="class in org.apache.river.concurrent">AbstractReferrerDecorator</a><T></td> | |
<td class="colLast"> | |
<div class="block">This class exists purely for allowing a client with their own Collection | |
implementation or Collection wrapper to perform custom serialisation of the | |
References by replacing the standard Referrer's with their own implementation.</div> | |
</td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/CollectionDecorator.html" title="class in org.apache.river.concurrent">CollectionDecorator</a><T></td> | |
<td class="colLast"> </td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/ComparableReferrerDecorator.html" title="class in org.apache.river.concurrent">ComparableReferrerDecorator</a><T></td> | |
<td class="colLast"> </td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/EntryFacadeConverter.html" title="class in org.apache.river.concurrent">EntryFacadeConverter</a><K,V></td> | |
<td class="colLast"> </td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/EntryIteratorFacade.html" title="class in org.apache.river.concurrent">EntryIteratorFacade</a><O,R></td> | |
<td class="colLast"> </td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/EntrySetFacade.html" title="class in org.apache.river.concurrent">EntrySetFacade</a><O,R></td> | |
<td class="colLast"> </td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/NullIterator.html" title="class in org.apache.river.concurrent">NullIterator</a><T></td> | |
<td class="colLast"> </td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/RC.html" title="class in org.apache.river.concurrent">RC</a></td> | |
<td class="colLast"> | |
<div class="block"> | |
This class contains static methods for decorating collections | |
with reference capability.</div> | |
</td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/ReadResolveFixCollectionCircularReferences.html" title="class in org.apache.river.concurrent">ReadResolveFixCollectionCircularReferences</a><T></td> | |
<td class="colLast"> | |
<div class="block">The purpose of this class is to implement all the possible interfaces | |
that subclasses of ReferenceCollection may implement.</div> | |
</td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/ReadResolveFixForMapCircularReferences.html" title="class in org.apache.river.concurrent">ReadResolveFixForMapCircularReferences</a><K,V></td> | |
<td class="colLast"> </td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/ReferenceBlockingDeque.html" title="class in org.apache.river.concurrent">ReferenceBlockingDeque</a><T></td> | |
<td class="colLast"> </td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/ReferenceBlockingQueue.html" title="class in org.apache.river.concurrent">ReferenceBlockingQueue</a><T></td> | |
<td class="colLast"> </td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/ReferenceCollection.html" title="class in org.apache.river.concurrent">ReferenceCollection</a><T></td> | |
<td class="colLast"> | |
<div class="block">A Collection of Reference Objects, the developer may chose any Collection | |
implementation to store the References, which is passed in a runtime.</div> | |
</td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/ReferenceCollectionRefreshAfterSerialization.html" title="class in org.apache.river.concurrent">ReferenceCollectionRefreshAfterSerialization</a><T></td> | |
<td class="colLast"> </td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/ReferenceCollectionSerialData.html" title="class in org.apache.river.concurrent">ReferenceCollectionSerialData</a><T></td> | |
<td class="colLast"> | |
<div class="block">This class is the serial form of ReferenceCollection and all it's subclasses.</div> | |
</td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/ReferenceComparator.html" title="class in org.apache.river.concurrent">ReferenceComparator</a><T></td> | |
<td class="colLast"> </td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/ReferenceConcurrentMap.html" title="class in org.apache.river.concurrent">ReferenceConcurrentMap</a><K,V></td> | |
<td class="colLast"> | |
<div class="block">A referenced hash map, that encapsulates and utilises any ConcurrentMap | |
implementation passed in at construction.</div> | |
</td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/ReferenceConcurrentNavigableMap.html" title="class in org.apache.river.concurrent">ReferenceConcurrentNavigableMap</a><K,V></td> | |
<td class="colLast"> </td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/ReferenceDeque.html" title="class in org.apache.river.concurrent">ReferenceDeque</a><T></td> | |
<td class="colLast"> </td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/ReferencedQueue.html" title="class in org.apache.river.concurrent">ReferencedQueue</a><T></td> | |
<td class="colLast"> </td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/ReferenceEntryFacade.html" title="class in org.apache.river.concurrent">ReferenceEntryFacade</a><K,V></td> | |
<td class="colLast"> </td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/ReferenceFactory.html" title="class in org.apache.river.concurrent">ReferenceFactory</a><T></td> | |
<td class="colLast"> | |
<div class="block">ReferenceFactory creates References, representing the various subclasses | |
of Reference, such as WEAK, SOFT and STRONG for | |
use in collections.</div> | |
</td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/ReferenceIterator.html" title="class in org.apache.river.concurrent">ReferenceIterator</a><T></td> | |
<td class="colLast"> </td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/ReferenceList.html" title="class in org.apache.river.concurrent">ReferenceList</a><T></td> | |
<td class="colLast"> | |
<div class="block">A List implementation that uses References.</div> | |
</td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/ReferenceMap.html" title="class in org.apache.river.concurrent">ReferenceMap</a><K,V></td> | |
<td class="colLast"> | |
<div class="block">ReferenceMap is a wrapper object that encapsulates another Map implementation | |
which it uses to store references.</div> | |
</td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/ReferenceMapSerialData.html" title="class in org.apache.river.concurrent">ReferenceMapSerialData</a><K,V></td> | |
<td class="colLast"> </td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/ReferenceNavigableMap.html" title="class in org.apache.river.concurrent">ReferenceNavigableMap</a><K,V></td> | |
<td class="colLast"> </td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/ReferenceNavigableSet.html" title="class in org.apache.river.concurrent">ReferenceNavigableSet</a><T></td> | |
<td class="colLast"> </td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/ReferenceProcessor.html" title="class in org.apache.river.concurrent">ReferenceProcessor</a><T></td> | |
<td class="colLast"> | |
<div class="block">ReferenceProcessor is responsible for creation and collection of References | |
on behalf of Reference Collection implementations.</div> | |
</td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/ReferenceProcessor.CleanerTask.html" title="class in org.apache.river.concurrent">ReferenceProcessor.CleanerTask</a></td> | |
<td class="colLast"> </td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/ReferenceProcessor.CreateThread.html" title="class in org.apache.river.concurrent">ReferenceProcessor.CreateThread</a></td> | |
<td class="colLast"> </td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/ReferenceProcessor.EnqueGarbageTask.html" title="class in org.apache.river.concurrent">ReferenceProcessor.EnqueGarbageTask</a></td> | |
<td class="colLast"> </td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/ReferenceProcessor.FinalizerTask.html" title="class in org.apache.river.concurrent">ReferenceProcessor.FinalizerTask</a></td> | |
<td class="colLast"> </td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/ReferenceProcessor.SystemThreadFactory.html" title="class in org.apache.river.concurrent">ReferenceProcessor.SystemThreadFactory</a></td> | |
<td class="colLast"> </td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/ReferenceProcessor.ThreadGroupAction.html" title="class in org.apache.river.concurrent">ReferenceProcessor.ThreadGroupAction</a></td> | |
<td class="colLast"> </td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/ReferenceSerializationFactory.html" title="class in org.apache.river.concurrent">ReferenceSerializationFactory</a><T></td> | |
<td class="colLast"> </td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/ReferenceSerializedForm.html" title="class in org.apache.river.concurrent">ReferenceSerializedForm</a><T></td> | |
<td class="colLast"> | |
<div class="block">A temporary but functional replacement for ReferenceKey's.</div> | |
</td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/ReferenceSet.html" title="class in org.apache.river.concurrent">ReferenceSet</a><T></td> | |
<td class="colLast"> | |
<div class="block">A Referenced Set.</div> | |
</td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/ReferenceSortedMap.html" title="class in org.apache.river.concurrent">ReferenceSortedMap</a><K,V></td> | |
<td class="colLast"> </td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/ReferenceSortedSet.html" title="class in org.apache.river.concurrent">ReferenceSortedSet</a><T></td> | |
<td class="colLast"> | |
<div class="block">Referenced set supports sorting Object based on their natural ordering | |
or a Comparator, which must be wrapped in a ReferenceComparator.</div> | |
</td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/ReferrerDecorator.html" title="class in org.apache.river.concurrent">ReferrerDecorator</a><T></td> | |
<td class="colLast"> | |
<div class="block">I've thought about refactoring so the equals and comparator behaviour is | |
implemented by the wrapper classes and only accepting References in | |
constructors as this would allow the use of standard java Reference classes | |
without extension, reducing the number of classes created, | |
however that would create serial form lock in.</div> | |
</td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/RefReferenceQueue.html" title="class in org.apache.river.concurrent">RefReferenceQueue</a><T></td> | |
<td class="colLast"> | |
<div class="block">A ReferenceQueue that implements RefQueue</div> | |
</td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/SerializationOfReferenceCollection.html" title="class in org.apache.river.concurrent">SerializationOfReferenceCollection</a><T></td> | |
<td class="colLast"> </td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/SerializationOfReferenceMap.html" title="class in org.apache.river.concurrent">SerializationOfReferenceMap</a><K,V></td> | |
<td class="colLast"> </td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/SoftEqualityReference.html" title="class in org.apache.river.concurrent">SoftEqualityReference</a><T></td> | |
<td class="colLast"> | |
<div class="block">Implemented as per Ref.SOFT</div> | |
</td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/SoftIdentityReference.html" title="class in org.apache.river.concurrent">SoftIdentityReference</a><T></td> | |
<td class="colLast"> | |
<div class="block">Implementation as per Ref.SOFT_IDENTITY</div> | |
</td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/StrongReference.html" title="class in org.apache.river.concurrent">StrongReference</a><T></td> | |
<td class="colLast"> | |
<div class="block">Implemented as per Ref.STRONG</div> | |
</td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/TempComparableReferrer.html" title="class in org.apache.river.concurrent">TempComparableReferrer</a><T></td> | |
<td class="colLast"> </td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/TempEqualReferrer.html" title="class in org.apache.river.concurrent">TempEqualReferrer</a><T></td> | |
<td class="colLast"> </td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/TempIdentityReferrer.html" title="class in org.apache.river.concurrent">TempIdentityReferrer</a><T></td> | |
<td class="colLast"> </td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/TimedComparableReferrerDecorator.html" title="class in org.apache.river.concurrent">TimedComparableReferrerDecorator</a><T></td> | |
<td class="colLast"> </td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/TimedReferrer.html" title="class in org.apache.river.concurrent">TimedReferrer</a><T></td> | |
<td class="colLast"> </td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/TimedReferrerDecorator.html" title="class in org.apache.river.concurrent">TimedReferrerDecorator</a><T></td> | |
<td class="colLast"> </td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/TimedRefQueue.html" title="class in org.apache.river.concurrent">TimedRefQueue</a></td> | |
<td class="colLast"> </td> | |
</tr> | |
<tr class="rowColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/WeakEqualityReference.html" title="class in org.apache.river.concurrent">WeakEqualityReference</a><T></td> | |
<td class="colLast"> | |
<div class="block">Implemented as per Ref.WEAK</div> | |
</td> | |
</tr> | |
<tr class="altColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/WeakIdentityReference.html" title="class in org.apache.river.concurrent">WeakIdentityReference</a><T></td> | |
<td class="colLast"> | |
<div class="block">Implemented as per Ref.WEAK_IDENTITY</div> | |
</td> | |
</tr> | |
</tbody> | |
</table> | |
</li> | |
<li class="blockList"> | |
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Summary table, listing enums, and an explanation"> | |
<caption><span>Enum Summary</span><span class="tabEnd"> </span></caption> | |
<tr> | |
<th class="colFirst" scope="col">Enum</th> | |
<th class="colLast" scope="col">Description</th> | |
</tr> | |
<tbody> | |
<tr class="altColor"> | |
<td class="colFirst"><a href="../../../../org/apache/river/concurrent/Ref.html" title="enum in org.apache.river.concurrent">Ref</a></td> | |
<td class="colLast"> | |
<div class="block"> | |
Ref enum represents types of references available for use in java | |
collection framework implementations.</div> | |
</td> | |
</tr> | |
</tbody> | |
</table> | |
</li> | |
</ul> | |
<a name="package.description"> | |
<!-- --> | |
</a> | |
<h2 title="Package org.apache.river.concurrent Description">Package org.apache.river.concurrent Description</h2> | |
<div class="block"><div> | |
<p>Custard-apple is a utility that enables weak, soft, strong | |
or time references to be used in any collection implementing standard | |
Java Framework Interfaces</p> | |
<p>Expected behaviour of reference types may vary between platforms | |
and should not be depended upon other than; weak references will | |
be collected when no further strong references remain and soft | |
references may be collected at any time the JVM's available memory | |
is under pressure and the referent is softly reachable. Time | |
references should exhibit identical behaviour on all platforms and | |
will be collected after a period of inactivity, even while strong | |
references to those objects remain.</p> | |
<p>Due to the multi threaded nature of Custard-apple the | |
garbage collection thread may not see timestamp updates on soft | |
references when reading objects from collections, possibly causing those | |
soft references to be collected earlier than expected.</p> | |
<p>Large memory heaps cause issues with soft references in the Oracle | |
jvm, in this case use -XX:SoftRefLRUPolicyMSPerMB=1 to minimise | |
GC issues. At least until bug 6912889 is fixed.</p> | |
<p>Cliff Click's highly scalable hash map has been tested with | |
Custard-apple, also designed with scalability in mind. | |
Cleaning of garbage collected objects from collections is performed | |
by a background executor periodically. Internal implementations | |
produce significant quantities of short lived objects during | |
read operations that die young. These objects only ever live in | |
CPU cache, are not written back to shared memory and are never | |
shared between threads.</p> | |
<p>Although Custard-apple is intended to be scalable it | |
has not been tested on highly scalable hardware, if you have | |
access to such hardware, feel free to write tests and | |
contribute back performance improvements.</p> | |
<p>Timed references are provided for caching purposes and also | |
support cancellation of Future's, for example timed references can | |
be used in Queue's as a throttling mechanism, similar to a | |
network dropping packets. Referent Future tasks will be cancelled by the | |
cleaning thread when enqueued.</p> | |
<p>Serialization support for Map's will be implemented in a future | |
release. Serialization of other collection types is supported, | |
provided the underlying collection also supports Serialization.</p> | |
<p>Serialized form has been implemented as a separate concern | |
using the | |
<link><i><a href="http://wiki.apache.org/river/Serialization"> | |
Serialization Builder Pattern</a></i> | |
with the readResolve() workaround. | |
</p> | |
<p>Package private implementation classes are not tied to | |
serial form. These classes are not published by implementing | |
Serializable. Future versions of this library, may | |
utilise a completely different class or classes upon deserialisation. | |
The serial form may also change between releases in ways that would | |
normally break compatibility, multiple serial forms may exist for | |
one class in multiple versions of it, without ever breaking | |
compatibility. Currently all classes that implement Collection | |
share an identical serial form.</p> | |
<p>Serialization compatibility is guaranteed between different releases.</p> | |
</div></div> | |
</div> | |
<!-- ======= START OF BOTTOM NAVBAR ====== --> | |
<div class="bottomNav"><a name="navbar.bottom"> | |
<!-- --> | |
</a> | |
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div> | |
<a name="navbar.bottom.firstrow"> | |
<!-- --> | |
</a> | |
<ul class="navList" title="Navigation"> | |
<li><a href="../../../../overview-summary.html">Overview</a></li> | |
<li class="navBarCell1Rev">Package</li> | |
<li>Class</li> | |
<li><a href="package-use.html">Use</a></li> | |
<li><a href="package-tree.html">Tree</a></li> | |
<li><a href="../../../../deprecated-list.html">Deprecated</a></li> | |
<li><a href="../../../../index-all.html">Index</a></li> | |
<li><a href="../../../../help-doc.html">Help</a></li> | |
</ul> | |
</div> | |
<div class="subNav"> | |
<ul class="navList"> | |
<li><a href="../../../../org/apache/river/collection/package-summary.html">Prev Package</a></li> | |
<li><a href="../../../../org/apache/river/config/package-summary.html">Next Package</a></li> | |
</ul> | |
<ul class="navList"> | |
<li><a href="../../../../index.html?org/apache/river/concurrent/package-summary.html" target="_top">Frames</a></li> | |
<li><a href="package-summary.html" target="_top">No Frames</a></li> | |
</ul> | |
<ul class="navList" id="allclasses_navbar_bottom"> | |
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li> | |
</ul> | |
<div> | |
<script type="text/javascript"><!-- | |
allClassesLink = document.getElementById("allclasses_navbar_bottom"); | |
if(window==top) { | |
allClassesLink.style.display = "block"; | |
} | |
else { | |
allClassesLink.style.display = "none"; | |
} | |
//--> | |
</script> | |
</div> | |
<a name="skip.navbar.bottom"> | |
<!-- --> | |
</a></div> | |
<!-- ======== END OF BOTTOM NAVBAR ======= --> | |
<p class="legalCopy"><small>Copyright 2007-2013, multiple authors.<br>Licensed under the <a href=http://www.apache.org/licenses/LICENSE-2.0 target=child >Apache License, Version 2.0</a>, see the <a href=../../../../doc-files/NOTICE target=child >NOTICE</a> file for attributions.</small></p> | |
</body> | |
</html> |