Java版常见设计模式总结.pdfVIP

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面面试试中中常常见见的的设设计计模模式式 1.写写出出常常用用的的设设计计模模式式,,如如单单例例、、工工厂厂、、装装饰饰者者、、观观察察者者等等模模式式,,分分别别介介绍绍他他 运运用用的的场场景景 单例 工厂 装饰者 观察者 2、、关关于于标标准准的的JDK库库中中使使用用的的一一些些设设计计模模式式 Decorator设计模式常被用于各种Java IO类中 Singleton模式常被用在运行环节中,Calendar 以及各种其他类 Factory (工厂)模式常被用于各种不可变类,比如Boolean。Boolean.valueOf Observer模式常被用于Swing和许多事件监听器框架中 3. 在在Java中中Singleton设设计计模模式式是是什什么么??为为线线程程安安全全Singleton编编码码。。 Singleton模式在整个系统中主要是共享模式。在整个应用程序实例中只保持一个特定的类,这是由所有模块共享决定的。Java.lang.Runtime是 Singleton设计模式中一个典型范例。 4. 举举例例说说明明你你什什么么时时候候会会用用抽抽象象类类,,什什么么时时候候更更愿愿意意使使用用接接口口 抽象类是一种模板,而接口是一种规范 在Java中,你只能继承一个类,但实现多个接口。所以你继承一个类的时候就无法再继承别的类了。 接口是用来代表形容词或行为,例如Runnable、Clonable、Serializable等。因此,如果您使用一个抽象类来实现Runnable和Clonacle,你就不可 以使你的类同时实现这两个功能,而如果接口的话就没问题。 抽象类是比接口稍快,所以很在乎时间的应用尽量使用抽象类 如果多个继承层次的共同行为在在同一个地方编写更好,那么抽象类会是更好的选择。有时候可以在接口里定义函数但是在抽象类里默认功能就 能实现接口和抽象类共同工作了。 5.单单例例设设计计模模式式规规范范写写法法 确保某一个类只有一个实例, 而且自行实例化并向整个系统提供这个实例 //第一种-推荐 class Single { private static final Single s = new Single(); // 饿汉式 private Single() { } public static Single getInstance() { return s; } } //第二种 class Single2 { private static Single2 s = null; // 懒汉 private Single2() { } public static Single2 getInstance() { if (s == null) { synchroni ed(Single2.class){ if(s == null){//双重判断,很有必要 if(s == null){//双重判断,很有必要 s = new Single2(); } } } return s; } } 优点 由于单例模式在内存中只有一个实例, 减少了内存开支, 特别是一个对象需要频繁地 创建、 销毁时, 而且创建或销毁时性能又无法优化, 单例模式的优势就非常明显 由于单例模式只生成一个实例, 所以减少了系统的性能开销, 当一个对象的产生需要 比较多的资源时, 如读取配置、 产生其他依赖对象 时, 则可以通过在应用启动时直接产生一 个单例对象, 然后用永久驻留内存的方式来解决 单例模式可以避免对资源的多重占用, 例如一个写文件动作, 由于只有一个实例存在 内存中, 避免对同一个资源文件的同时写操作 缺点 单例模式一般没有接口, 扩展很困难, 若要扩展, 除了修改代码基本上没有第二种途 径可以实现 应用场景 要求生成唯一序列号的环境 创建一个对象需要消耗的资源过多, 如要访问IO和数据

文档评论(0)

杨格落落 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档