📄 unbiasedqueue.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><!--NewPage--><HTML><HEAD><TITLE>UnbiasedQueue (Project JXTA J2SE)</TITLE><META NAME="keywords" CONTENT="net.jxta.impl.util.UnbiasedQueue class"><LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"><SCRIPT type="text/javascript">function windowTitle(){ parent.document.title="UnbiasedQueue (Project JXTA J2SE)";}</SCRIPT></HEAD><BODY BGCOLOR="white" onload="windowTitle();"><!-- ========= START OF TOP NAVBAR ======= --><A NAME="navbar_top"><!-- --></A><A HREF="#skip-navbar_top" title="Skip navigation links"></A><TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""><TR><TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"><A NAME="navbar_top_firstrow"><!-- --></A><TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> <TR ALIGN="center" VALIGN="top"> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/UnbiasedQueue.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> </TR></TABLE></TD><TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM><a href='http://www.jxta.org' target='_blank'>Project JXTA</a></EM></TD></TR><TR><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../net/jxta/impl/util/TimeUtils.html" title="class in net.jxta.impl.util"><B>PREV CLASS</B></A> <A HREF="../../../../net/jxta/impl/util/UnbiasedQueue.SynchronizedQueue.html" title="class in net.jxta.impl.util"><B>NEXT CLASS</B></A></FONT></TD><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A> <A HREF="UnbiasedQueue.html" target="_top"><B>NO FRAMES</B></A> <SCRIPT type="text/javascript"> <!-- if(window==top) { document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); } //--></SCRIPT><NOSCRIPT> <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A></NOSCRIPT></FONT></TD></TR><TR><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> SUMMARY: <A HREF="#nested_class_summary">NESTED</A> | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD></TR></TABLE><A NAME="skip-navbar_top"></A><!-- ========= END OF TOP NAVBAR ========= --><HR><!-- ======== START OF CLASS DATA ======== --><H2><FONT SIZE="-1">net.jxta.impl.util</FONT><BR>Class UnbiasedQueue</H2><PRE>java.lang.Object <IMG SRC="../../../../resources/inherit.gif" ALT="extended by"><B>net.jxta.impl.util.UnbiasedQueue</B></PRE><DL><DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../net/jxta/impl/util/ConsumerBiasedQueue.html" title="class in net.jxta.impl.util">ConsumerBiasedQueue</A>, <A HREF="../../../../net/jxta/impl/util/ProducerBiasedQueue.html" title="class in net.jxta.impl.util">ProducerBiasedQueue</A>, <A HREF="../../../../net/jxta/impl/util/UnbiasedQueue.SynchronizedQueue.html" title="class in net.jxta.impl.util">UnbiasedQueue.SynchronizedQueue</A></DD></DL><HR><DL><DT>public class <B>UnbiasedQueue</B><DT>extends java.lang.Object</DL><P>A generic queue class. This queue is explicitly <b>NOT</b> a synchronized queue. <p/>FIXME 20020511 bondolo@jxta.org This could be more efficient with a circular queue implementation, but its a pain to write since we allow the queue to be resizable. <p/>FIXME 20020511 bondolo@jxta.org Exercise for the reader: Extend this class so that it does both LIFO and FIFO. <p/>FIXME 20020910 bondolo@jxta.org Needs an optional listener callback for droppped elments. <p/>FIXME 20020910 bondolo@jxta.org Needs an optional "strategy" for element insertion and removal.<P><P><DL><DT><B>Since:</B></DT> <DD>JXTA 1.0</DD></DL><HR><P><!-- ======== NESTED CLASS SUMMARY ======== --><A NAME="nested_class_summary"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TD COLSPAN=2><FONT SIZE="+2"><B>Nested Class Summary</B></FONT></TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>protected static class</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../net/jxta/impl/util/UnbiasedQueue.SynchronizedQueue.html" title="class in net.jxta.impl.util">UnbiasedQueue.SynchronizedQueue</A></B></CODE><BR> An inner class for wrapping arbitrary queues with synchronization.</TD></TR></TABLE> <!-- =========== FIELD SUMMARY =========== --><A NAME="field_summary"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TD COLSPAN=2><FONT SIZE="+2"><B>Field Summary</B></FONT></TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>protected boolean</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../net/jxta/impl/util/UnbiasedQueue.html#closeFlag">closeFlag</A></B></CODE><BR> If true the queue is being closed and is currently in the process of being flushed. </TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>protected static int</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../net/jxta/impl/util/UnbiasedQueue.html#DEFAULT_MAX_OBJECTS">DEFAULT_MAX_OBJECTS</A></B></CODE><BR> Default number of queue elements.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>protected static boolean</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../net/jxta/impl/util/UnbiasedQueue.html#DROP_OLDEST_OBJECT">DROP_OLDEST_OBJECT</A></B></CODE><BR> Default object dropping behaviour</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>protected boolean</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../net/jxta/impl/util/UnbiasedQueue.html#dropOldestObject">dropOldestObject</A></B></CODE><BR> When we need to drop objects, drop the oldest obj.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>protected static long</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../net/jxta/impl/util/UnbiasedQueue.html#DROPPED_OBJECT_WARNING_INTERVAL">DROPPED_OBJECT_WARNING_INTERVAL</A></B></CODE><BR> Number of milliseconds between notifications that objects are being dropped.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>protected int</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../net/jxta/impl/util/UnbiasedQueue.html#maxObjects">maxObjects</A></B></CODE><BR> The maximum number of objects we will hold in the queue at one time.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>protected long</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../net/jxta/impl/util/UnbiasedQueue.html#nextDroppedWarn">nextDroppedWarn</A></B></CODE><BR> absolute time in millis when it will be ok to display a obj about dropping objects. </TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>protected long</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../net/jxta/impl/util/UnbiasedQueue.html#numDequeued">numDequeued</A></B></CODE><BR> total number of objects which have been dequeued from this queue</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>protected long</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../net/jxta/impl/util/UnbiasedQueue.html#numDropped">numDropped</A></B></CODE><BR> the number of objects we have dropped since we began working.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>protected long</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../net/jxta/impl/util/UnbiasedQueue.html#numEnqueued">numEnqueued</A></B></CODE><BR> total number of objects which have been enqueued into this queue</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>protected java.util.List</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../net/jxta/impl/util/UnbiasedQueue.html#queue">queue</A></B></CODE><BR> Contains the objects we currently have queued.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>protected long</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../net/jxta/impl/util/UnbiasedQueue.html#sumOfQueueSizesDequeue">sumOfQueueSizesDequeue</A></B></CODE><BR> sum of queue sizes at dequeue time.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>protected long</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../net/jxta/impl/util/UnbiasedQueue.html#sumOfQueueSizesEnqueue">sumOfQueueSizesEnqueue</A></B></CODE><BR> sum of queue sizes at enqueue time.</TD></TR></TABLE> <!-- ======== CONSTRUCTOR SUMMARY ======== --><A NAME="constructor_summary"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TD COLSPAN=2><FONT SIZE="+2"><B>Constructor Summary</B></FONT></TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD><CODE><B><A HREF="../../../../net/jxta/impl/util/UnbiasedQueue.html#UnbiasedQueue()">UnbiasedQueue</A></B>()</CODE><BR> Default constructor. 100 element LIFO queue which drops oldest element when full.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD><CODE><B><A HREF="../../../../net/jxta/impl/util/UnbiasedQueue.html#UnbiasedQueue(int, boolean)">UnbiasedQueue</A></B>(int maxsize, boolean dropOldest)</CODE><BR> Full featured constructor for creating a new UnBiasedQueue.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD><CODE><B><A HREF="../../../../net/jxta/impl/util/UnbiasedQueue.html#UnbiasedQueue(int, boolean, java.util.List)">UnbiasedQueue</A></B>(int maxsize, boolean dropOldest, java.util.List queue)</CODE><BR> Full featured constructor for creating a new UnBiasedQueue.</TD></TR></TABLE> <!-- ========== METHOD SUMMARY =========== --><A NAME="method_summary"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TD COLSPAN=2><FONT SIZE="+2"><B>Method Summary</B></FONT></TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> void</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../net/jxta/impl/util/UnbiasedQueue.html#clear()">clear</A></B>()</CODE><BR> Flush the queue of all pending objects.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> void</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../net/jxta/impl/util/UnbiasedQueue.html#close()">close</A></B>()</CODE><BR> Close the queue. </TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> double</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../net/jxta/impl/util/UnbiasedQueue.html#getAvgInQueueAtDequeue()">getAvgInQueueAtDequeue</A></B>()</CODE><BR> Return the average number of elements in the queue at dequeue time.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> double</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../net/jxta/impl/util/UnbiasedQueue.html#getAvgInQueueAtEnqueue()">getAvgInQueueAtEnqueue</A></B>()</CODE><BR> Return the average number of elements in the queue at Enqueue time.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> int</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../net/jxta/impl/util/UnbiasedQueue.html#getCurrentInQueue()">getCurrentInQueue</A></B>()</CODE><BR> Return the number of elements currently in the queue. </TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> int</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../net/jxta/impl/util/UnbiasedQueue.html#getMaxQueueSize()">getMaxQueueSize</A></B>()</CODE><BR> How many objects will fit in this queue</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> long</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../net/jxta/impl/util/UnbiasedQueue.html#getNumDequeued()">getNumDequeued</A></B>()</CODE><BR> Return the total number of objects which have been dequeued from this queue during its existance.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> long</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../net/jxta/impl/util/UnbiasedQueue.html#getNumDropped()">getNumDropped</A></B>()</CODE><BR> Return the total number of objects which have been dropped by this queue during its existance.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> long</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../net/jxta/impl/util/UnbiasedQueue.html#getNumEnqueued()">getNumEnqueued</A></B>()</CODE><BR> Return the total number of objects which have been enqueued on to this queue during its existance.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> boolean</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../net/jxta/impl/util/UnbiasedQueue.html#isClosed()">isClosed</A></B>()</CODE><BR> Atomically return whether or not this queue has been closed. </TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -