设计模式-面试篇

设计模式-面试篇

1、什么是设计模式?
设计模式是程序员用来解决特定设计问题的尝试和测试的方法。设计模式是代码可用性的延伸。

2、请列举出在JDK中几个常用的设计模式?
(1)单例模式,用于Runtime、Calendar等类中。
(Runtime类:查看或控制虚拟机的状态和行为)
(Calendar类:提供了很方便的不同日期格式的转换方法)
(2)工厂模式,用于各种不可变的类,如Boolean类的静态工厂方法Boolean.valueOf(String),可以直接返回布尔类型的值,不需要开辟内存空间。
(3)观察者模式,用于Swing和监听事件之中。
(4)装饰器模式,用于IO类中。

3、什么叫单例模式?请用java写出线程安全的单例模式?
单例模式:属于创建型模式,确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。(自行实例化:自己创建自己)
好处:
1、能够避免实例对象的重复创建,不仅可以减少每次创建对象的时间开销,还可以节省内存空间。
2、能够避免由于操作多个实例而导致的逻辑错误。

单例模式的写法有5种:
1、饿汉模式
2、懒汉模式
3、双重校验锁
4、静态内部类
5、枚举

4、什么叫工厂模式?最主要的好处是什么?在哪里使用?
工厂模式:属于创建型模式,是用工厂方法代替new操作的一种模式。在创建对象时不会对客户端暴露创建逻辑,并且通过使用一个共同的接口来指向新创建的对象。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值