我已使用对象池设计模式为数据库连接实现了JDBCConnectionPooling。我只想知道对象池设计模式的真实世界示例。任何人都可以了解真实世界的示例,或者从对象池设计模式的任何Java库中了解?
答案 0 :(得分:0)
看看java.lang.String它使用字符串缓存,如果内联有类似
的内容String foo = "foobar";
String bar = "foobar";
然后它会被翻译成:
class StringPool {
public static String static_foo = "foobar";
}
String foo = StringPool.foo;
String bar = StringPool.foo;
注意,这是java使用的字符串池的一个非常简化的示例。
如需更多阅读,建议您阅读What is the Java string pool and how is "s" different from new String("s")?
答案 1 :(得分:0)
public static Integer valueOf(int i)
返回表示指定int值的Integer实例。如果不需要新的Integer实例,通常应优先使用此方法,而不是构造函数Integer(int),因为此方法可能通过缓存频繁请求的值来显着提高空间和时间性能。 此方法将始终缓存-128到127(包括-128到127)范围内的值,并可以缓存此范围之外的其他值。
-128到127的范围实际上不是一个池,因为这将是一组静态值,但如果需要,它也可以设计为缓存其他值。请注意,我从未注意到定义范围之外的行为。所以:
Integer.valueOf(5) == Integer.valueOf(5) //true
Integer.valueOf(1234) == Integer.valueOf(1234) //false even if it could be true based on the javadoc