Package java.lang.ref

Examples of java.lang.ref.ReferenceQueue.poll()


      /**now its up to the referencequeue to remove the
       * appropiate obects.
       */
      CacheObject cacheObj = null;
            ReferenceQueue q = cache.getReferenceQueue();
        while ((cacheObj = (CacheObject) q.poll()) != null) {
        cacheObj.resetRefCount();
        tryRemoval(cacheObj);
      }

    } catch (CacheException e) {
View Full Code Here


    private void cleanup() {
        // Cleanup after cleared References.
        Entry[] tab = this.table;
        ReferenceQueue queue = this.queue;
        Reference ref;
        while ((ref = queue.poll()) != null) {
            // Since buckets are single-linked, traverse entire list and
            // cleanup all cleared references in it.
            int index = (((Entry) ref).hash & 0x7fffffff) % tab.length;
            for (Entry e = tab[index], prev = null; e != null; e = e.next) {
                if (e.get() == null) {
View Full Code Here

    ReferenceQueue rq = new ReferenceQueue();
    obj = new Object();
    Reference ref = new SoftReference(obj, rq);
    assertTrue("Enqueue failed.", (!ref.isEnqueued())
        && ((ref.enqueue()) && (ref.isEnqueued())));
    assertTrue("Not properly enqueued.", rq.poll().get() == obj);
    // This fails...
    assertTrue("Should remain enqueued.", !ref.isEnqueued());
    assertTrue("Can not enqueue twice.", (!ref.enqueue())
        && (rq.poll() == null));
View Full Code Here

        && ((ref.enqueue()) && (ref.isEnqueued())));
    assertTrue("Not properly enqueued.", rq.poll().get() == obj);
    // This fails...
    assertTrue("Should remain enqueued.", !ref.isEnqueued());
    assertTrue("Can not enqueue twice.", (!ref.enqueue())
        && (rq.poll() == null));

    rq = new ReferenceQueue();
    obj = new Object();
    ref = new WeakReference(obj, rq);
    assertTrue("Enqueue failed2.", (!ref.isEnqueued())
View Full Code Here

    rq = new ReferenceQueue();
    obj = new Object();
    ref = new WeakReference(obj, rq);
    assertTrue("Enqueue failed2.", (!ref.isEnqueued())
        && ((ref.enqueue()) && (ref.isEnqueued())));
    assertTrue("Not properly enqueued2.", rq.poll().get() == obj);
    assertTrue("Should remain enqueued2.", !ref.isEnqueued()); // This
    // fails.
    assertTrue("Can not enqueue twice2.", (!ref.enqueue())
        && (rq.poll() == null));
  }
View Full Code Here

        && ((ref.enqueue()) && (ref.isEnqueued())));
    assertTrue("Not properly enqueued2.", rq.poll().get() == obj);
    assertTrue("Should remain enqueued2.", !ref.isEnqueued()); // This
    // fails.
    assertTrue("Can not enqueue twice2.", (!ref.enqueue())
        && (rq.poll() == null));
  }

  /**
   * @tests java.lang.ref.Reference#enqueue()
   */
 
View Full Code Here

      Thread t = new TestThread();
      t.start();
      t.join();
      System.gc();
      System.runFinalization();
      ref = rq.poll();
      assertTrue("Unexpected ref2", ref == wr);
      assertNotNull("Object not garbage collected.", ref);
      assertNull("Object could not be reclaimed.", ref.get());
      // Reference wr so it does not get collected
      assertNull("Object could not be reclaimed.", wr.get());
View Full Code Here

    assertTrue("Should start off not enqueued.", !ref.isEnqueued());
    ref.enqueue();
    assertTrue("Should now be enqueued.", ref.isEnqueued());
    ref.enqueue();
    assertTrue("Should still be enqueued.", ref.isEnqueued());
    rq.poll();
    // This fails ...
    assertTrue("Should now be not enqueued.", !ref.isEnqueued());
  }

  protected void setUp() {
View Full Code Here

            BigInteger bi = new BigInteger(16384, rnd);
            list.add(bi);
            if (i%1000==0)
            {
               Reference ref;
               if ( (ref = queue.poll()) != null)
               {
                  System.out.println("Break as the soft reference has been queued: "+ref);
                  break;
               }
            }
View Full Code Here

            ReferenceQueue q = queueMap.get(l.getClass());
           
            if (q != null) {
                DocReference r;           
                synchronized (q) {
                    while ((r = (DocReference) q.poll()) != null) {
                        staleListeners.add(r.getListener());
                    }
                }
            }
           
View Full Code Here

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.