1.饿汉式
public class ThreadPoolManager {
private ThreadPoolManager() {
}
private static ThreadPoolManager threadPoolManager = new ThreadPoolManager();
public static ThreadPoolManager getInstance() {
return threadPoolManager;
}
}
2.懒汉式
public class ThreadPoolManager {
private ThreadPoolManager() {
}
private static volatile ThreadPoolManager threadPoolManager;
public static ThreadPoolManager getInstance() {
if (threadPoolManager == null) {
synchronized (ThreadPoolManager.class) {
if (threadPoolManager == null) {
threadPoolManager = new ThreadPoolManager();
}
}
}
return threadPoolManager;
}
}
3.两者相比较而言,讲究性能和节省资源选择懒汉式,如果是平时开发而且这种单例类较少,我建议用饿汉式,因为饿汉式较为简单而且线程安全,一个类的实例也不会占用多少资源。
本文探讨了Java中两种常见的单例模式实现——饿汉式和懒汉式。饿汉式在类加载时就完成了初始化,确保线程安全但可能浪费资源。懒汉式则在首次调用时才创建实例,兼顾线程安全和资源利用,但在多线程环境下可能有额外开销。根据性能和资源需求,开发者可以选择适合的单例实现方式。
808

被折叠的 条评论
为什么被折叠?



