单例模式及数组也能无锁: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;
    }
}
相关推荐
芝士熊爱编程2 天前
创建型模式-单例模式
java·单例模式·设计模式
张小姐的猫4 天前
【Linux】网络编程 —— HTTP协议(上)
linux·运维·服务器·网络·http·单例模式·策略模式
zjun10014 天前
C++:单例模式
c++·单例模式
ttod_qzstudio17 天前
【软考设计模式】单例模式:唯一实例的管控与线程安全精讲
单例模式·设计模式
geovindu20 天前
java: Singleton Pattern
java·开发语言·后端·单例模式·设计模式·创建型模式
重生之我是Java开发战士1 个月前
【Java SE】多线程(三):单例模式,阻塞队列,线程池与定时器
java·javascript·单例模式
许彰午1 个月前
34_Java设计模式之单例模式
java·单例模式·设计模式
罗超驿1 个月前
10.Java单例模式全解析:饿汉式与懒汉式实现及线程安全深度剖析
安全·单例模式·javaee
布朗克1681 个月前
33 设计模式精讲
java·单例模式·设计模式
雨浓YN1 个月前
基于设计模式的Winform软件框架-01Xml\Log\Ini日志(单例模式+生产者消费者模式)
单例模式·设计模式