Java单例模式(singleton),饿汉式和内部类的区别
来源:互联网 发布:linux系统chown指令 编辑:程序博客网 时间:2024/06/05 03:37
单例模式,也叫单子模式,是一种常用的软件设计模式。 在应用这个模式时,单例对象的类必须保证只有一个实例存在。
方法一:饿汉式单例
public class Singleton {
private final static Singleton INSTANCE = new Singleton();
private final static Singleton INSTANCE = new Singleton();
private Singleton() { }
public static Singleton getInstance() {
return INSTANCE;
}
return INSTANCE;
}
}
方法二:借助内部类
public class Singleton {
private Singleton() { }
private Singleton() { }
private static class SingletonHolder {
private final static Singleton INSTANCE = new Singleton();
}
public static Singleton getInstance() {
return SingletonHolder.INSTANCE;
}
return SingletonHolder.INSTANCE;
}
}
两种加载模式的区别:
饥饿模式,每个对象在没有使用之前就已经初始化了。这就可能带来潜在的性能问题:如果这个对象很大呢?没有使用这个对象之前,就把它加载到了内存中去是一种巨大的浪费。
针对这种情况,我们可以对以上的代码进行改进,使用一种新的设计思想——延迟加载
0 0
- Java单例模式(singleton),饿汉式和内部类的区别
- 单例模式-Singleton Pattern 确保对象的唯一性——单例模式 (四):一种更好的单例实现方法(静态内部类)
- Java静态内部类单例模式
- java 常见的单例模式,推荐静态内部类
- 【Java】线程安全的单例模式----静态内部类
- java(单例模式、抽象类、接口、内部类)
- 基于内部类的单例模式
- 比饿汉单例模式和懒汉单例模式更好的静态内部类单例模式
- 比饿汉单例模式和懒汉单例模式更好的静态内部类单例模式
- 单例模式的另一种实现(内部类)
- 2、单例模式(内部类的实现方式)
- 最安全的单例模式--java使用内部类实现单例模式
- 最安全的单例模式--java使用内部类实现单例模式
- Java静态内部类和非内部类的区别
- Java内部类和匿名内部类的区别
- java 内部类和静态内部类的区别
- volatile和内部类实现单例模式的原理(自我理解)
- 单例模式和静态类的区别(Difference between static class and singleton pattern)
- 使用typedef 定义数组
- 《Android从菜鸟到高手》——002“面向对象思想”在Android的基本应用
- 深入分析Java ClassLoader原理
- No.513 Find Bottom Left Tree Value
- Hello R!
- Java单例模式(singleton),饿汉式和内部类的区别
- eclipse使用git上传项目到GitHub
- 日志总结-java变量类型
- thinking in java——0321学习笔记
- faster rcnn:assert (boxes[:, 2] >= boxes[:, 0]).all()分析塈VOC2007 xml坐标定义理解
- Unity3D Mesh小课堂(五)CombineMeshes合并网格
- Android动画SDK从基础到精通(AnimationForAndroid)
- 单词助手
- CodeForces 125D【鸽巢原理】