首页 > 其他分享 >如何实现一个单例?

如何实现一个单例?

时间:2023-03-28 23:34:03浏览次数:38  
标签:IdGenerator 实现 private 如何 static 单例 AtomicLong new public

  • 构造函数需要private访问权限,这样避免外部通过new创建实例;
  • 考虑对象创建时的线程安全问题
  • 考虑是否支持延迟加载
  • 考虑getInstance性能是否高(是否加锁)

1、饿汉式:

点击查看代码
package com.tjl;

import java.util.concurrent.atomic.AtomicLong;

/**
 * @author 田金龙
 * @Date 2023/3/28 23:24
 * @v-1.0
 */
public class IdGenerator {

    private AtomicLong id = new AtomicLong(0);

    private static final IdGenerator instance = new IdGenerator();

    private IdGenerator() {
    }

    public static IdGenerator getInstance() {
        return instance;
    }

    public long getId() {
        return id.incrementAndGet();
    }
}

标签:IdGenerator,实现,private,如何,static,单例,AtomicLong,new,public
From: https://www.cnblogs.com/tianjinlong/p/17267196.html

相关文章