当前位置: 首页 > news >正文

当前业界主流的网站建设外贸网站平台都有哪些

当前业界主流的网站建设,外贸网站平台都有哪些,电气工程师报考条件,福永网站建设多少钱前言 单例模式是日常开发中最常见的一种设计模式,常用来做为池对象,或者计数器之类的需要保证全局唯一的场景。 单例模式的目的是保证在整个程序中只存在一个对象实例,使用单例一个前提条件就是构造器私有化,不允许通过new 对象…

前言

单例模式是日常开发中最常见的一种设计模式,常用来做为池对象,或者计数器之类的需要保证全局唯一的场景。

单例模式的目的是保证在整个程序中只存在一个对象实例,使用单例一个前提条件就是构造器私有化,不允许通过new 对象的方式。单例模式的实现主要方式有如下几种:
1、饿汉式实现
2、使用枚举类实现
3、懒汉式使用双重检查锁实现。
4、使用静态内部类实现

“饿汉式”

饿汉式:顾名思义就是很"饥饿",初始化就创建设好了实例。

public class Demo1 {private static Demo1 demo1 = new Demo1();private void Demo1() {}public static Demo1 getInstance() {return demo1;}
}

“懒汉式” -双重检查锁

为什么要使用双重检查锁?因为如果在并发的状态下,如果A线程先进来,判断demo2为null,然后创建实例对象,在判断了为null的这个时间点,B线程也进来了判断demo2为null,也去创建实例,这样就不能保证单例。

public class Demo2 {private volatile static Demo2 demo2 = null;private void Demo2() {}public static Demo2 getInstance() {if (demo2 == null) {synchronized(Demo2.class) {if (demo2 == null) {demo2 = new Demo2();}}}return demo2;}}

“懒汉式” -使用静态内部类的方式实现

使用静态内部类的方式实现的单例式利用了java的特性,就是static属于类,在初始化的时候就已经执行了,且static修饰的对象或者静态代码块只执行一次。

public class Demo3 {private static Demo3 demo3;private void Demo3() {}private static class HolderClass {private static Demo3 demo3 = new Demo3();}public static Demo3 getInstance() {return HolderClass.demo3;}
}

枚举方式

枚举方式利用了枚举的特性,enum修饰的类被称之为枚举类,java不允许通过反射来创建enum类,同时enum修饰的类默认继承了Enum类,其构造函数为private修饰的,因此枚举类具有天然的单例特性,很适合用做单例模式。

public class Demo4 {private Demo4() {}public static enum SingleEnum {INSTANCE;private Demo4 demo4;private SingleEnum() {demo4 = new Demo4();}public Demo4 getInstance() {return demo4;}}public static Demo4 getInstance() {return SingleEnum.INSTANCE.getInstance();}// 测试public static void main(String[] args) {Demo4 instance = getInstance();}
}

下面来看一个单例模式的典型应用场景:
JefLogTail采集工具中的server端,在处理日志多线程入库时,为了防止反复的创建线程池导致服务器压力大,因此采用单例模式来定义线程池的获取。如下:

public class LogHandle extends ServerMessageHandler {private LogSave logSave;@Overrideprotected void channelRead0(ChannelHandlerContext channelHandlerContext, Message message) throws Exception {try {
/*           String content = (String) message.getContent();String ip = message.getAttachment("ip");String fileName = message.getAttachment("fileName");System.out.println("ip地址:" + ip);System.out.println("文件名称:" + fileName);*/ThreadPoolCfg.getThreadPool().execute(new Runnable() {@Overridepublic void run() {logSave.save(message);}});// 多线程处理} catch (Exception e) {e.printStackTrace();}}public void setLogSavePlan(LogSave logSave) {this.logSave = logSave;}
}
http://www.zhongyajixie.com/news/23784.html

相关文章:

  • 电子商务网站前台建设常用的技术合肥360seo排名
  • 网站如何做等级保护百度入口的链接
  • 怎么寻找做有益做网站的客户企业seo网络推广
  • 亚马逊网站特点广告语
  • 郑州做网站 汉狮网络湖北seo诊断
  • 注册好了域名怎么开始做网站快速收录域名
  • b2c网站怎么制作关键词搜索推广
  • 行业网站开发费用网站免费优化软件
  • 写字就能赚钱做网站网络推广代理平台
  • 东平网站制作哪家好绍兴seo网站优化
  • 自己开网站做职称论文可以吗ip域名查询网
  • 高密市住房和城乡建设局网站宁波seo快速优化教程
  • 企业网站的建设对于网络品牌的塑造作用百度荤seo公司
  • 网站建设协议书怎么写百度用户服务中心官网电话
  • 做企鹅号的视频素材网站百度医生在线问诊
  • 北京工程信息网站大白兔网络营销策划书
  • 房地产网站互动设计公司流量推广app
  • 网站域名的安全性sem优化怎么做
  • 做网站3个月深圳网络优化seo
  • 京东网站建设小吃培训2000元学6项
  • 内江建网站南京百度seo
  • 医院关于建设官方网站的请示产品软文范例500字
  • 网站seo诊断优化分析该怎么做佛山seo联系方式
  • win7网站服务器制作软件电商网站建设公司
  • 做网站源码流程国际财经新闻
  • 太原做网站个人百度关键词优化软件怎么样
  • 长沙做网站建设价格seo网站推广目的
  • 剪辑师培训班关键词优化公司网站
  • 免费推广网站建设seo排名技巧
  • 外贸自建零售网站做仿牌培训心得体会