Class ReplacementForAtomicInteger

  • All Implemented Interfaces:
    java.io.Serializable

    public class ReplacementForAtomicInteger
    extends java.lang.Number
    implements java.io.Serializable
    Replacement for java.util.concurrent.atomic.AtomicInteger without using of Unsafe. TODO this class is not thread safe anymore. This must be rewritten if we supports threads.
    See Also:
    Serialized Form
    • Field Detail

      • value

        private volatile int value
    • Constructor Detail

      • ReplacementForAtomicInteger

        public ReplacementForAtomicInteger​(int initialValue)
      • ReplacementForAtomicInteger

        public ReplacementForAtomicInteger()
    • Method Detail

      • get

        public final int get()
      • set

        public final void set​(int newValue)
      • lazySet

        public final void lazySet​(int newValue)
      • getAndSet

        public final int getAndSet​(int newValue)
      • compareAndSet

        public final boolean compareAndSet​(int expect,
                                           int update)
      • weakCompareAndSet

        public final boolean weakCompareAndSet​(int expect,
                                               int update)
      • getAndIncrement

        public final int getAndIncrement()
      • getAndDecrement

        public final int getAndDecrement()
      • getAndAdd

        public final int getAndAdd​(int delta)
      • incrementAndGet

        public final int incrementAndGet()
      • decrementAndGet

        public final int decrementAndGet()
      • addAndGet

        public final int addAndGet​(int delta)
      • getAndUpdate

        public final int getAndUpdate​(java.util.function.IntUnaryOperator updateFunction)
      • updateAndGet

        public final int updateAndGet​(java.util.function.IntUnaryOperator updateFunction)
      • getAndAccumulate

        public final int getAndAccumulate​(int x,
                                          java.util.function.IntBinaryOperator accumulatorFunction)
      • accumulateAndGet

        public final int accumulateAndGet​(int x,
                                          java.util.function.IntBinaryOperator accumulatorFunction)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • intValue

        public int intValue()
        Specified by:
        intValue in class java.lang.Number
      • longValue

        public long longValue()
        Specified by:
        longValue in class java.lang.Number
      • floatValue

        public float floatValue()
        Specified by:
        floatValue in class java.lang.Number
      • doubleValue

        public double doubleValue()
        Specified by:
        doubleValue in class java.lang.Number