Class ShortBigList.ShortBlock

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, IShortListable
    Enclosing class:
    ShortBigList

    static class ShortBigList.ShortBlock
    extends ShortGapList
    A block stores in maximum blockSize number of elements. The first block in a ShortBigList will grow until reaches this limit, all other blocks are directly allocated with a capacity of blockSize. A block maintains a reference count which allows a block to be shared among different ShortBigList instances with a copy-on-write approach.
    • Field Detail

      • refCount

        private java.util.concurrent.atomic.AtomicInteger refCount
    • Constructor Detail

      • ShortBlock

        public ShortBlock()
      • ShortBlock

        public ShortBlock​(int capacity)
    • Method Detail

      • isShared

        public boolean isShared()
        Returns:
        true if block is shared by several ShortBigList instances
      • ref

        public ShortBigList.ShortBlock ref()
        Increment reference count as block is used by one ShortBigList instance more.
      • unref

        public void unref()
        Decrement reference count as block is no longer used by one ShortBigList instance.