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

免费申请一个qq号/seo入门基础知识

免费申请一个qq号,seo入门基础知识,申请注册商标需要多少钱,奇趣统计网站谁做的介绍: 确保某个类只有一个实例,而且自行实例化,并向整个系统提供这个实例 单例模式的三个要点: 某个类只能有一个实例必须自行创建这个实例必须自行向整个系统提供这个实例 包含角色: 单例模式只包含一个单例角色. 创建过程注意点: 提供一个自身私有的静态成员变量单例类…

介绍:

确保某个类只有一个实例,而且自行实例化,并向整个系统提供这个实例

单例模式的三个要点:

  1. 某个类只能有一个实例
  2. 必须自行创建这个实例
  3. 必须自行向整个系统提供这个实例

包含角色:

单例模式只包含一个单例角色.

创建过程注意点:

  1. 提供一个自身私有的静态成员变量
  2. 单例类的构造函数为私有
  3. 提供一个公有的静态工厂方法

分类:

  1. 懒汉模式
  2. 饿汉模式

图:

代码:

//懒汉模式
public class LazySingletons {private static LazySingletons lazySingletons = null;private LazySingletons() {}//synchronized 用来处理多线程,不加也可以synchronized  public static LazySingletons getInstance(){if(lazySingletons == null){lazySingletons = new LazySingletons();}return lazySingletons;}}
//饿汉模式
public class EagerSingleton {private static  EagerSingleton instance = new EagerSingleton();private EagerSingleton(){}public static  EagerSingleton getInstance(){return instance;}}

区别:

饿汉式是自己加载时自己实例化,单从资源利用角度来讲,这个比懒汉式资源要差一些,从速度和反应时间来讲,这个比懒汉式好一些

懒汉式是实现静态工厂方法是使用了同步化机制,以处理多线程环境.

优点:

  1. 提供了唯一实例受控访问
  2. 提高系统性能

缺点:

  1. 没有抽象层,拓展很困难
  2. 自责过重,在一定程度上违背了"单一职责"
  3. 滥用容易引发一些其他问题,比如当单例模式作为资源控制器的时候,由于长时间的不调用,java自带垃圾回收机制会将它回收,这个时候容易状态就会丢失.

案例:

在操作系统中,打印池是一个用于管理打印任务的应用程序,通过打印池用户可以删除,终止或者改变打印任务的优先级,在系统中只允许运行一个打印池对象,如果重复创建,打印池就抛出异常

分析图:

代码:

异常类:

public class PrintSpoolerException extends Exception{public PrintSpoolerException(String message){super(message);}
}

打印池:

public class PrintSpoolerSingleton {private static PrintSpoolerSingleton instance = null;private PrintSpoolerSingleton() {}public static PrintSpoolerSingleton getInstance() throws PrintSpoolerException {if (instance == null) {System.out.println("创建打印池");instance = new PrintSpoolerSingleton();} else {throw new PrintSpoolerException("打印池正在工作...");}return instance;}public void managerJobs() throws InterruptedException {System.out.println("管理打印任务");Thread.sleep(1000);System.gc();}}

测试:

public class PrintSpoolerSingletonTest {public static void main(String[] args) {PrintSpoolerSingleton ps1,ps2;try {ps1 = PrintSpoolerSingleton.getInstance();ps1.managerJobs();} catch (Exception e) {System.out.println(e.getMessage());}System.out.println("-----------------------------");try {ps2 = PrintSpoolerSingleton.getInstance();ps2.managerJobs();} catch (Exception e) {System.out.println(e.getMessage());}}
}

结果:

 

http://www.jmfq.cn/news/4748041.html

相关文章:

  • 石家庄哪里可以做网站/如何在百度发广告推广
  • 西城做网站公司/青岛网站设计公司哪家好
  • 网站首页index.html/培训网络营销的机构
  • 怎样注册一个网站做电商/推广是什么意思
  • 浦东网站建设公司/引擎网站推广法
  • 免费ppt模板下载爱ppt/专业网站优化推广
  • 深圳做网站公司有那些/人民网疫情最新消息
  • 做网站的环境配置/百度竞价排名的使用方法
  • b2b电子商务平台是什么意思/快速排序优化
  • 郑州做网站推广的公司哪家好/接app推广
  • 北京网站设计公司jx成都柚米科技15/河北搜索引擎优化
  • 织里网站建设/网络营销策划书ppt
  • 舟山网大海网/seo站外推广有哪些
  • 网站建设毕业论文/2021年重大新闻事件
  • 专门做图片的网站cms/引流推广网站平台
  • 媒体公司网站模板/加盟
  • 成都市建设招标网站/关键词seo培训
  • 网站建设提供了哪些栏目/百度一下官网入口
  • 怎么做淘宝联盟的推广网站/最新新闻国内大事件
  • php网站支付宝接口/域名搜索引擎
  • 建设外贸型网站流程/厦门网站建设公司名单
  • 网站空间2G一年多少钱/手机打开国外网站app
  • 网站做任务佣金/今天的热点新闻
  • 网站开发设计文案/关键词搜索神器
  • 住房建设部投诉网站/免费的外链网站
  • 电子工程建设/搜索引擎优化关键词选择的方法有哪些
  • wordpress信用卡收款/手机优化
  • 独立建站什么意思/网络推广自学
  • 网站备案证书下载密码忘了/今日资讯最新消息
  • 网站建设引擎/百度资源搜索