java 单例模式-饿懒汉模式
2024-08-25 13:10:54
单例-饿汉模式
1、将构造方法私有化,不允许外部直接创建对象 private Singleton(){}
2、自己在类的内部创建一个唯一实例 private static Singleton instance = new Singleton();
3、提供一个用于获取实例的方法 public static Singleton getInstance(){return instance};
public class Singleton{ private static Singleton instance=new Singleton(); private Singleton(){}
public staitc Singleto getInstance(){ return instance; } } 单例--懒汉模式
1.构造函数私有化
2.创建类的唯一实例静态成员变量(为null)
3.创建获取单一实例的静态成员方法 区别在于实例本身产生的时间(类加载时还是类使用时)
public class Singleton{
private Singleton(){}
private static Singleton instance;
public static Singleton getInstance(){
if(instance==null){
return new Singleton();
} else {
return instance;
}
}
区别:
饿汉式:声明的同时直接实例化。 特点:加载类时比较慢,但运行时获取对象的速度比较快,线程安全。
懒汉式:声明的时候不实例化。 特点:加载类时比较快,但运行时获取对象的速度比较慢,线程不安全。
最新文章
- 《MySQL必知必会》学习笔记
- LogStash filter介绍(九)
- ssh通道技术
- PHPWord生成word实现table合并(colspan和rowspan)
- 写给Python初学者的设计模式入门
- 功能测试中遇到的一些有意思的bug
- Struts2的运行原理和运行与原理
- Python - 元组(tuple) 详解 及 代码
- 页面动态数据的滚动效果——jquery滚动组件(vticker.js)
- Swift - 正则表达式的使用(附用户名、邮箱、URL等常用格式验证)
- 理解volatile
- 近期ubuntu 14.04 cpu占用高排障
- c++字节对齐编译器指令#pragma
- ETL数据采集方法
- Python3+Flask安装使用教程
- 【非专业前端】使用vue2.5.17+element2.4.5
- 性能测试监控工具nmon详解和分析
- odoo订餐系统之类型设计
- Python3学习笔记21-实例属性和类属性
- 实现与JS相同的Des加解密算法【转】
热门文章
- HBase 数据库检索性能优化策略--转
- BZOJ 2957: 楼房重建 [线段树 信息合并]
- Python tutorial阅读之使用 Python 解释器
- php+redis 学习 六 订阅
- nodejs开启服务器端口
- [译]前端JS面试题汇总 Part 1(事件委托/this关键字/原型链/AMD与CommonJS/自执行函数)
- 构造N位格雷码(递归,面向对象)
- 1.8 range
- UVA - 10285 Longest Run on a Snowboard (线性DP)
- Linux文本的处理