我使用ResourceBundle和区域设置来查找属性值。很简单,代码看起来像这样:
public static String getPropertyValue(Locale locale, String resourceName, String key) {
ResourceBundle resource = ResourceBundle.getBundle(resourceName, locale);
return resource.getString(key);
}我的问题是关于性能的。缓存方法是否比访问类路径上的属性文件更快或更好的实现?我的理解是ResourceBundle的性能总体上是非常好的。
属性文件(在本例中)少于30行(即大约30个键/值对)。
我质疑性能,因为我们可以在高负载页面上使用类似的方法,而按需查找的方法可能会被证明是昂贵的。
发布于 2009-12-02 07:06:18
根据Javadocs的说法
默认情况下,由getBundle工厂方法创建的
资源包实例被缓存,如果已缓存相同的资源包实例,则工厂方法会多次返回该实例。
所以你不需要自己做缓存。但是,如果您需要对缓存行为进行更细粒度的控制,则可以使用getBundle(String, ResourceBundle.Control)重载并传入自定义的Control。
https://stackoverflow.com/questions/1829564
复制相似问题