懒汉单例饿汉单例
设计模式:单例
设计模式:23个设计模式
创建型
行为型
结构型
架构模式:
战略
单例/单态:如何能保证一个类只出一个对象?
懒汉式:
缺点:访问速度慢
优点:使用才加载对象
synchronized 同步可以解决懒汉式问题
饿汉式:
优点:访问速度快
缺点:提前加载
下面说一下懒汉式和饿汉式的区别及优点:
饿汉式不管有没有调用对象创建方法,都会预先在系统中创建一个静态对象
懒汉式不会预先创建对象,只有在第一次调用时才创建对象
饿汉式优点: 在多线程模式下是安全的
缺点: 没有调用方法前就被加载,会占用内存
懒汉式优点:只有调用方法才创建对象,不会占用内存
缺点:在多线程模式下不安全
public class Hello {//饿汉式单例 //构造器私有化 不可以在外界创建此类对象 private Hello() { System.out.println("创建对象"); } //静态成员只有一份 加载本类对象 也只有一个 private static Hello hello = new Hello();//静态只可能有一份 //此方法是返回本类唯一对象 public static Hello getHello() { return hello;//只要调用此方法就可以创建对象 } }
public class SayHello { private SayHello(){ System.out.println("SayHello创建了对象"); } private static SayHello sayHello;//声明对象 public static synchronized SayHello getSayHello(){ if(sayHello==null){//判断调用为空吗? sayHello=new SayHello();//如果不为空再创建对象 } return sayHello;//如果不为空直接返回对象 } }
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
全面剖析企业私有云
在以AWS、Google、阿里等为代表的公有云发展的同时,很多大型企业出于数据安全性、系统稳定性、软硬件自主权、对自主可控以及TCO低的考虑,更加倾向于建设企业私有云来承载内部业务信息系统的运行。 然而,构建企业私有云并非是一蹴而就的,正如Gartner的副总裁Tom Bittman所述“部署私有云并不是简单地对硬件进行采购,而是一场革新”。对于企业私有云而言,具有应用系统复杂、标准化程度低、定制化程度高、系统体量大、安全要求高等特点,需要高瞻远瞩统筹规划,才能建设一个科学可持续发展的私有云。当然,私有云的建设同样应遵循信息系统建设的通用方法,即事前分析规划、事中落地实现以及事后运维管理。下面,我将从企业私有云建设的需求分析、企业私有云建设的要点以及企业私有云的运维与管理等三个方面对大型企业私有云的建设进行分析和总结。 一、企业私有云
- 下一篇
DDoS攻击介绍,如何防御DDoS攻击?
分布式拒绝服务攻击(DDoS攻击)是一种针对目标系统的恶意网络攻击行为,DDoS攻击经常会导致被攻击者的业务无法正常访问,也就是所谓的拒绝服务。 常见的DDoS攻击包括以下几类: 网络层攻击 比较典型的攻击类型是UDP反射攻击,例如:NTP Flood攻击,这类攻击主要利用大流量拥塞被攻击者的网络带宽,导致被攻击者的业务无法正常响应客户访问。 传输层攻击 比较典型的攻击类型包括SYN Flood攻击、连接数攻击等,这类攻击通过占用服务器的连接池资源从而达到拒绝服务的目的。 会话层攻击 比较典型的攻击类型是SSL连接攻击,这类攻击占用服务器的SSL会话资源从而达到拒绝服务的目的。 应用层攻击 比较典型的攻击类型包括DNS flood攻击、HTTP flood攻击、游戏假人攻击等,这类攻击占用服务器的应用处理资源极大的消耗服务器处理性能从而达到拒绝服务的目的。 DDoS攻击缓解最佳实践 建议阿里云用户从以下几个方面着手缓解DDoS攻击的威胁: 缩小暴露面,隔离资源和不相关的业务,降低被攻击的风险。 配置安全组 尽量避免将非业务必须的服务端口暴露在公网上,从而避免与业务无关的请求和访问。通过...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- MySQL8.0.19开启GTID主从同步CentOS8
- 设置Eclipse缩进为4个空格,增强代码规范
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Hadoop3单机部署,实现最简伪集群