[置顶] 【JAVA】设计模式之懒汉式与恶汉式的单例模式实现的方法与详解
2016-09-29 15:39
801 查看
作者:程序员小冰,GitHub主页:https://github.com/QQ986945193
新浪微博:http://weibo.com/mcxiaobing
长期维护的Android项目,里面包括常用功能实现,以及知识点详解,
当然还有Java中的知识点。具体请看github:
好了,说正题
代码比较简单,非常基础,不过用处挺多的,针对做java或者android开发的小伙伴。
直接上代码吧,带有注释很详细:
新浪微博:http://weibo.com/mcxiaobing
长期维护的Android项目,里面包括常用功能实现,以及知识点详解,
当然还有Java中的知识点。具体请看github:
https://github.com/QQ986945193/DavidAndroidProjectTools
好了,说正题
代码比较简单,非常基础,不过用处挺多的,针对做java或者android开发的小伙伴。
直接上代码吧,带有注释很详细:
package davidandroidprojecttools.qq986945193.com.davidandroidprojecttools.javaUtils; /** * @author :程序员小冰 * @新浪微博 :http://weibo.com/mcxiaobing * @GitHub: https://github.com/QQ986945193 * @CSDN博客: http://blog.csdn.net/qq_21376985 * @交流Qq :986945193 * 类名:java中单例设计模式 恶汉式和懒汉式实现方法 */ public class Singleton { // // /** // * 恶汉式 加载类的时候比较慢,运行比较快 // */ // // private static Singleton instance = new Singleton(); // // /** // * 1,定义私有的构造方法,禁止外部直接创建实例 // * <p/> // * 2,内部自己创建好实例,私有属性(不建议在外部直接调用我们的成员变量) // * <p/> // * 3,创建一个方法,使外部可以得到此实例 // */ // private Singleton() { // // } // // // public static Singleton getSingletonInstance() { // return instance; // } /** * 懒汉式 加载类的时候比较快,运行时比较慢 * <p/> * 1,创建私有构造方法,禁止外部直接创建实例 * <p/> * 2,创建私有变量实例化对象,私有属性(不建议在外部直接调用我们的成员变量) * <p/> * 3,创建方法,使外部可以调用我们的私有对象实例 */ private static Singleton instance = null; private Singleton() { } /** * 这样也是可以的,不过,如果涉及到多线程,最好加上一个同步锁(synchronized),可以 * <p/> * 直接在方法上添加 但是每次都要去进行同步,显然不是最好的。 * * 最好的当然是下面的,在方法中进行加上synchronized * @return */ public static Singleton getInstance() { if (instance == null) { synchronized (Singleton.class) { if (instance == null) { instance = new Singleton(); } } } return instance; } // public static synchronized Singleton getInstance() { // if (instance == null) { // instance = new Singleton(); // } // return instance; // } }
相关文章推荐
- 【JAVA】设计模式之懒汉式与恶汉式的单例模式实现的方法与详解
- [置顶] java面试题:java中的单例设计模式及两种实现方法的代码举例
- Java设计模式之工厂模式实现方法详解
- 使用模板方法模式实现可扩展性设计(Java示例)
- 详解Java设计模式中的生产-消费者模式及代码实现
- 设计模式:浅析 抽象工厂、工厂方法、简单(静态)工厂 java实现
- 【设计模式】单例设计模式的N中Java实现方法
- 设计模式:浅析 抽象工厂、工厂方法、简单(静态)工厂 java实现
- 【设计模式】单例设计模式的N中Java实现方法
- [置顶] 【JAVA】java中实现map集合的数据存取详解三种方法。Android程序员也是要会写的
- Java设计模式中适配器模式的实现方法
- 单例设计模式的N中Java实现方法
- 设计模式之模板方法模式(Java实现)
- Java 设计模式之模板方法模式的详解(行为模式)
- 追MM与设计模式的JAVA实现-简单工厂方法
- 详解JavaScript实现设计模式中的适配器模式的方法
- 【设计模式】单例设计模式的N中Java实现方法
- 详解设计模式中的proxy代理模式及在Java程序中的实现
- 设计模式之第3章-模板方法模式(Java实现)
- Java设计模式(六) 模版方法模式详解