今天在某公司(不透露了)写了一套Java面试题。有个题大概是这样的。
Which design pattern used in Java.lang.Runtime?
就是说java.lang.Runtime里,用了什么设计模式
还有java.utils.collection里用了什么设计模式。
当时由于对这冷门知识了解的不够多,而且api也读的少,所以一时答不上来。
回到家搜了下。
答:
Runtiome里
单例模式。
1) 每一个Java程序都有一个Runtime类的单一实例。
2) 通过Runtime.getRuntime()获取Runtime类的实例。
3) Runtime类是使用单例模式的一个例子。
Collection里
装饰器模式。
例如:
//ArrayList的包装构造器
public ArrayList(Collection<? extends E> c){ ..... }
//LinkedList的包装构造器
public LinkedList(Collection<? extends E> c){ ..... }
//HashSet的包装构造器 publicHashSet(Collection<? extends E> c) { ..... }