1.打印机报错处理类

package com.pattern06.singleton.sample03;

public class PrintSpoolerException extends Exception {

public PrintSpoolerException() {

super();

}

public PrintSpoolerException(String message, Throwable cause) {

super(message, cause);

}

public PrintSpoolerException(String message) {

super(message);

}

public PrintSpoolerException(Throwable cause) {

super(cause);

}

}

2.打印机类

package com.pattern06.singleton.sample03;

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 static void stop() {

instance = null;

}

public void manageJobs() {

System.out.println("管理打印池任务!");

}

}

3.测试类

package com.pattern06.singleton.sample03;

public class Client {

public static void main(String[] args) throws PrintSpoolerException {

PrintSpoolerSingleton p1,p2,p3;

//创建打印池

p1 = PrintSpoolerSingleton.getInstance();

//使用打印池

p1.manageJobs();

//停止打印池

PrintSpoolerSingleton.stop();

p2 = PrintSpoolerSingleton.getInstance();

p2.manageJobs();

//没有把打印池停止就直接获取打印池会报错

p3 =PrintSpoolerSingleton.getInstance();

}

}

java 模拟简单打印机功能_java 单例模式模拟打印机打印任务相关推荐

  1. java 抽奖 界面显示,Java实现简单抽奖功能界面

    本文实例为大家分享了Java实现简单抽奖功能的具体代码,供大家参考,具体内容如下 要求:定义文本框添加姓名,将姓名存储并且在界面中可见,点击抽奖按钮进行抽奖并输出最后的中奖得主. 关于抽奖当然需要用到 ...

  2. java 模拟简单打印机功能_java之玩转打印机

    说在前面 很喜欢并发,所以一直在学并发.这就是因为爱,所以爱了吧!对了,上次说到去南天的事情,我过了,还算对得起自己吧,毕竟连hr都当面夸我优秀,哈哈! demo一之采用Lock锁仿一个打印机随机打印 ...

  3. java 基础包的功能_Java 8的功能基础

    java 基础包的功能 Java 8彻底改变了Java. 它很可能是过去10年中最重要的Java版本. 有很多新功能,包括默认方法,方法和构造函数引用以及lambda, 仅举几例 . 更有趣的功能之一 ...

  4. java 1.8新增功能_Java 8的新增功能(第二部分-可能会出现什么)

    java 1.8新增功能 免责声明:我不为Oracle工作,也不以任何方式代表Oracle. 此功能列表不是官方的. 作为"局外人",这只是我研究的一部分. 这是由三部分组成的系列 ...

  5. java上传文件功能_Java MemoryMapped文件的功能

    java上传文件功能 Java MemoryMapped文件的功能 在JDK 1.4中,内存映射文件的一个有趣功能被添加到Java中,该功能允许将任何文件映射到OS内存以进行有效读取. 内存映射文件可 ...

  6. java 文档比较功能_Java 12 新特性介绍,快来补一补

    Java 12 早在 2019 年 3 月 19 日发布,它不是一个长久支持(LTS)版本.在这之前我们已经介绍过其他版本的新特性,如果需要可以点击下面的链接进行阅读. Switch 表达式 (JEP ...

  7. java脱机是什么意思_java获取本地打印机,以及判断打印机是否脱机状态

    java获取本地打印机,以及判断打印机是否脱机状态 java获取本地打印机,以及判断打印机是否脱机状态 文章中所有返回的类型,是自定义RestFul接口返回类型,你们也可以直接返回数组 如果要看res ...

  8. java如何调用微信功能_Java编程调用微信分享功能示例

    本文实例讲述了java编程调用微信分享功能.分享给大家供大家参考,具体如下: 这篇文章介绍如何使用java开发微信分享功能,因为工作,已经开发完成,可使用. 如果想要自定义微信的分享功能,首先在自己的 ...

  9. java实现qq空间模块_Java实现模拟QQ空间图片上传

    Java实现模拟QQ空间图片上传 首先看效果: 首先编写我们的上传jsp代码,如下: pageEncoding="UTF-8"%> html PUBLIC "-// ...

最新文章

  1. axure7.0元件库 安卓_AxureRP 7.0 元件库下载
  2. get php 怎么用,php getdate函数怎么用
  3. Oracle数据库mybatis 插入空值时报错(with JdbcType OTHER)
  4. 2018 蓝桥杯省赛 A 组模拟赛(一)数列求值+推导
  5. java 属性默认_【急】求教如何设置javabean中某几个属性的默认值
  6. python绘制音频频谱_Python 读取wav画频谱
  7. cdoj31-饭卡(card) (01背包)
  8. python基础语法学习常见小问题
  9. JS版日期格式化和解析工具类
  10. koa2 从入门到进阶之路 (七)
  11. VS2017下载 vs2017社区版
  12. EasiCSDeep:利用表面肌电信号识别颈椎病的深度学习模型
  13. 域名备案方法及是否需要备案
  14. 梯度消失和梯度爆炸原因推导
  15. 长方形的周长公式的c语言,长方形周长公式
  16. 2015年9月最新浏览器市场份额统计表
  17. MRT退休后的HEG(HDF-EOS To GeoTIFF Conversion Tool )工具安装
  18. 深度学习学习率对模型训练的影响
  19. 激活硬盘被关闭的DMA模式
  20. 微信小程序使用video播放视频失败

热门文章

  1. nginx tomcat集群
  2. c++语言表白超炫图形_C/C++编程笔记:浪漫流星雨表白装b程序
  3. 华为防火墙图形登录配置
  4. Windwos server 2019域控制器策略部分
  5. 使用nssm将命令行启动的应用程序(.exe,.bat等)注册成windows后台服务
  6. 电子货架标签----云架构
  7. PHP 开发基础知识笔记
  8. Centos7:Docker安装Gitlab
  9. oracle导出报表是网页版,ORACLE AWR报告详解网页在线版
  10. 手头有65万存款,想在广州买房,买南沙好还是黄埔好?