从“追求尽量不出错”,到正视“出错是必然”的转变,才是微服务架构得|

如此而已~~~

园龄:3年3个月粉丝:0关注:12

单例模式

Java单例模式

​ 核心: 保证一个类只有一个实例,并且提供一个访问该实例的全局访问点。

​ 创建型模式,这里写的最简单的两个。其实还有双重检测锁式(由于JVM底层内部模型原因,偶尔会出问题。不建议使用); 静态内部类式(线程安全,调用效率高。 但是,可以延时加载); 枚举单例(线程安全,调用效率高,不能延时加载)

一、饿汉式

public class SingletonDemo {
//类初始化时,立即加载(没有延时加载的优势)。这个对象加载类时,天然的线程安全!
private static SingletonDemo instance = new SingletonDemo(); //加载类时就进行初始化
private SingletonDemo() {}
//方法没有同步调用效率高
public static SingletonDemo getInstance() {
return instance;
}
}

二、懒汉式

public class SingletonDemo {
private static SingletonDemo instance;
private SingletonDemo(){}
//需要synchronized关键字 防止重复构建对象,就是会降低并发时的效率
public static synchronized SingletonDemo getInstance() {
if(instance == null) { //延迟加载
instance = new SingletonDemo();
}
return instance;
}
}

本文作者:如此而已~~~

本文链接:https://www.cnblogs.com/fragmentary/p/18276975

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   如此而已~~~  阅读(11)  评论(0编辑  收藏  举报
//雪花飘落效果
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起