对象池模式适用于当对象的创建代价比较高又需要频繁创建的时候。对象池模式会创建一批对象缓存起来待用。当需要对象的时候就从缓存池中获取,不需要的时候就放回缓存池中。当缓存池中对象不够用的时候又会创建新的对象放到缓存池中。
类图如下:
代码如下:
/**
*
* Oliphaunts are expensive to create
*
*/
public class Oliphaunt {
private static int counter = 1;
private final int id;
/**
* Constructor
*/
public Oliphaunt() {
id = counter++;
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public int getId() {
return id;
}
@Override
public String toString() {
return String.format("Oliphaunt id=%d",