单例模式及数组也能无锁: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. 模式的双重检查

    2023-12-25 17:08:02       43 阅读
  2. 模式——懒汉模式的双重检测问题

    2023-12-25 17:08:02       55 阅读
  3. 模式:双重效验的懒汉实现方式

    2023-12-25 17:08:02       40 阅读
  4. 模式模板

    2023-12-25 17:08:02       43 阅读
  5. 【C++】特殊类设计模式

    2023-12-25 17:08:02       59 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-25 17:08:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-25 17:08:02       101 阅读
  3. 在Django里面运行非项目文件

    2023-12-25 17:08:02       82 阅读
  4. Python语言-面向对象

    2023-12-25 17:08:02       91 阅读

热门阅读

  1. 华为OD机试真题-找座位-2023年OD统一考试(C卷)

    2023-12-25 17:08:02       58 阅读
  2. 记录Macbook Pro 2017 使用Opencore安装sonoma

    2023-12-25 17:08:02       97 阅读
  3. vs code go环境安装调试

    2023-12-25 17:08:02       60 阅读
  4. python语音转文字-离线

    2023-12-25 17:08:02       63 阅读
  5. Kubernetes (K8s) 集群部署

    2023-12-25 17:08:02       70 阅读