单例模式及数组也能无锁: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;
    }
}
相关推荐
XiYang-DING12 小时前
【Java EE】单例模式
java·单例模式·java-ee
XiYang-DING2 天前
【Java EE】volatile关键字
java·单例模式·java-ee
-凌凌漆-2 天前
【QML】qml和C++中同时使用单例模式
java·c++·单例模式
不知名的老吴2 天前
一文读懂:单例模式的经典案例分析
java·开发语言·单例模式
geovindu3 天前
go: Singleton Pattern
单例模式·设计模式·golang
╰つ栺尖篴夢ゞ4 天前
HarmonyOS Next面试题之主线程与子线程访问同一个单例,获取的对象是同一个吗?
单例模式·多线程·harmonyos·sendable·actor模型·内存隔离
晨曦夜月5 天前
高并发内存池——单例模式在缓存的作用
缓存·单例模式
晔子yy5 天前
【JAVA探索之路】从头开始讲透、实现单例模式
java·开发语言·单例模式
2301_771717216 天前
DLC(Double-check Locking)与volatile的详解
单例模式
环流_6 天前
多线程5(单例模式)
单例模式