Lazy allocation simply means not allocating a resource until it is actually needed.
Here is an example in Java:
public class Fruit {
private static final Map<String,Fruit> types = new HashMap<String, Fruit>();
private final String type;
// using a private constructor to force use of the factory method.
private Fruit(String type) {
this.type = type;
}
/**
* Lazy Factory method, gets the Fruit instance associated with a
* certain type. Instantiates new ones as needed.
* @param type Any string that describes a fruit type, e.g. "apple"
* @return The Fruit instance associated with that type.
*/
public static synchronized Fruit getFruit(String type) {
if(!types.containsKey(type)) {
types.put(type, new Fruit(type)); // Lazy initialization
}
return types.get(type);
}
}
本文介绍了一种称为懒加载的设计模式,这种模式强调资源的延迟分配,即直到确实需要时才进行资源分配。通过一个Java示例,展示了如何实现懒加载模式来管理不同类型水果的实例,仅在首次请求特定类型时创建其实例。
2570

被折叠的 条评论
为什么被折叠?



