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

减少锁持有时间

锁粗化

锁偏向

轻量级锁

自旋锁

锁消除

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;
    }
}
相关推荐
小江的记录本1 天前
【Java并发编程】锁机制:volatile:JMM内存模型、可见性/禁止指令重排、内存屏障、单例模式中的应用(附《思维导图》+《面试高频考点清单》)
java·后端·python·mysql·单例模式·面试·职场和发展
计算机安禾2 天前
【c++面向对象编程】第40篇:单例模式(Singleton)的多种C++实现
开发语言·c++·单例模式
basketball6164 天前
C++ 单例模式完全指南:从饿汉式到现代 C++ 的最佳实践
java·c++·单例模式
W.W.H.4 天前
Qt 应用防多开:极简单例方案
开发语言·qt·单例模式·共享内存
++==4 天前
设计模式:单例模式和观察者模式实现方式以及优化
观察者模式·单例模式·设计模式
摇滚侠8 天前
Java 饿汉式 单例模式
java·开发语言·单例模式
游乐码8 天前
Unity坦克案例疑难记录(一)
unity·单例模式
想学会c++11 天前
单例模式笔记总结
c++·笔记·单例模式
是个西兰花11 天前
单列模式和C++中的类型转换
c++·单例模式·设计模式·rtti
nnsix11 天前
设计模式 - 单例模式 笔记
笔记·单例模式·设计模式