单例模式及数组也能无锁:AtomicIntegerArray

2023-12-24 21:27:33

减少锁持有时间
锁粗化
锁偏向
轻量级锁
自旋锁
锁消除
ThreadLocal的简单使用

和AtomicInteger类似的还有AtomicLong用来代表long型数据
AtomicBoolean表示bollean型数据
AtomicReference表示对象引用。
数组也能无锁:AtomicIntegerArray
AtomicIntegerArray
AtomicLongArray
AtomicReferenceArray
让普通变量也享受原子操作:AtomicIntegerFieldUpdater

它是一种对象创建模式,用于产生一个对象的具体实例,它可用确保系统中一个类
只产生一个实例。在java中,这种行为能带来两大好处:
1.对于频繁使用的对象,可用省略new操作花费的时间,这对于重量级对象而言,是非常
可观的一笔系统开销。
2.由于new操作的次数减少,因而对系统内存的使用频率也会降低,这将减轻GC压力,缩短GC
? 停顿时间。

public class StaticSingleton {
    private StaticSingleton(){
        System.out.println("StaticSingleton is create");
    }
    private static class SingletonHolder{
        private static StaticSingleton instance = new StaticSingleton();
    }
    public static StaticSingleton getInstance(){
        return SingletonHolder.instance;
    }
}


??

文章来源:https://blog.csdn.net/wcg_jishuo/article/details/135186272
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。