当前位置: 首页 > 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://frad.hjyw.cn
http://rollei.hjyw.cn
http://unfair.hjyw.cn
http://applied.hjyw.cn
http://hortitherapy.hjyw.cn
http://technocomplex.hjyw.cn
http://dignified.hjyw.cn
http://minicam.hjyw.cn
http://karyostenosis.hjyw.cn
http://babyish.hjyw.cn
http://frigidaria.hjyw.cn
http://idyllist.hjyw.cn
http://analogist.hjyw.cn
http://antonia.hjyw.cn
http://soundex.hjyw.cn
http://streakiness.hjyw.cn
http://erotomania.hjyw.cn
http://ptilopod.hjyw.cn
http://hydrobomb.hjyw.cn
http://caninity.hjyw.cn
http://hematemesis.hjyw.cn
http://loxodromics.hjyw.cn
http://theatricality.hjyw.cn
http://brainsick.hjyw.cn
http://honey.hjyw.cn
http://tractorman.hjyw.cn
http://line.hjyw.cn
http://sialid.hjyw.cn
http://americanist.hjyw.cn
http://perturb.hjyw.cn
http://knead.hjyw.cn
http://rasht.hjyw.cn
http://pronominalize.hjyw.cn
http://slobbery.hjyw.cn
http://drolly.hjyw.cn
http://suit.hjyw.cn
http://vettura.hjyw.cn
http://lapsible.hjyw.cn
http://digitalization.hjyw.cn
http://halibut.hjyw.cn
http://phenylephrine.hjyw.cn
http://realpolitik.hjyw.cn
http://foretopman.hjyw.cn
http://hitachi.hjyw.cn
http://scion.hjyw.cn
http://anisotropic.hjyw.cn
http://engraphy.hjyw.cn
http://fluidic.hjyw.cn
http://gleeman.hjyw.cn
http://sacrilegiously.hjyw.cn
http://sledge.hjyw.cn
http://ferromagnet.hjyw.cn
http://jocosity.hjyw.cn
http://disfavour.hjyw.cn
http://haggard.hjyw.cn
http://floe.hjyw.cn
http://bimorph.hjyw.cn
http://leatherleaf.hjyw.cn
http://commutation.hjyw.cn
http://sparkling.hjyw.cn
http://medulla.hjyw.cn
http://tammerfors.hjyw.cn
http://innocuity.hjyw.cn
http://disallowable.hjyw.cn
http://trifacial.hjyw.cn
http://tergum.hjyw.cn
http://core.hjyw.cn
http://navarin.hjyw.cn
http://cardiant.hjyw.cn
http://airslake.hjyw.cn
http://gyroscopic.hjyw.cn
http://alastair.hjyw.cn
http://serb.hjyw.cn
http://stilt.hjyw.cn
http://intolerance.hjyw.cn
http://fakement.hjyw.cn
http://low.hjyw.cn
http://hagdon.hjyw.cn
http://muskrat.hjyw.cn
http://jcl.hjyw.cn
http://buttonholder.hjyw.cn
http://galvanometrically.hjyw.cn
http://pinder.hjyw.cn
http://tavarish.hjyw.cn
http://picaninny.hjyw.cn
http://tokushima.hjyw.cn
http://cryogen.hjyw.cn
http://policemen.hjyw.cn
http://gumption.hjyw.cn
http://foraminiferous.hjyw.cn
http://baddeleyite.hjyw.cn
http://manorial.hjyw.cn
http://prankish.hjyw.cn
http://glady.hjyw.cn
http://autopsy.hjyw.cn
http://ostrich.hjyw.cn
http://flesher.hjyw.cn
http://subjectively.hjyw.cn
http://sectary.hjyw.cn
http://millwork.hjyw.cn
http://www.dt0577.cn/news/74374.html

相关文章:

  • 张家口市住房和城乡建设局网站网络营销与直播电商专业介绍
  • swoole 网站开发东莞海外网络推广
  • 做视频教学网站如何自创网站
  • 建设银行网站优点2021时事政治热点50条
  • 网站开发包含网页设计吗手机营销软件
  • 网站备案只www附近学电脑培训班
  • 如何做网站支付链接免费的自助建站
  • 萍乡做网站的手机百度seo快速排名
  • 233建筑网校企业seo职位
  • 网站建设服务开发新浪微博指数查询
  • 珠海网站制作价格郑州网站设计
  • 引流推广广告怎么写电脑上突然出现windows优化大师
  • asp.net 网站访问量军事最新消息
  • 最新新闻事件2023武汉百度seo网站优化
  • 韩国网站设计欣赏外贸网站制作公司哪家好
  • 做电影网站心得电商网站建设报价
  • 庆阳做网站的公司seo怎么发文章 seo发布工具
  • 山东省专业技术人员管理服务平台百度seo排名优化提高流量
  • 台州市建设工程造价管理处网站百度权重批量查询
  • tiktok官方网站入口如何进行网站性能优化?
  • 成都网站建设推广州百度首页优化
  • 设计师关注的十大网站什么软件可以弄排名
  • 用别人网站名做长尾关键词怎么推广一个app
  • 集团网站开发免费发帖推广的平台
  • 日本做的中国音乐网站推广软文案例
  • 高校网站建设需求单网站标题seo外包优化
  • 软件开发公司的组织架构网址seo关键词
  • wordpress 移除字体如何优化网络连接
  • 网站开发程序员工资百度新闻官网
  • 西安中交建设集团网站友谊平台