java用static和hashmap高效处理汉化的问题

本人刚入行1年,在javaeye呆过半年多吧,看到这么多牛人在技术上的认识和见解,深表佩服;
进来在做项目的时候碰到一个英文汉化的问题,也没有什么例子可以参考,就自己弄了一个方法,自我感觉良好,特分享出来,希望老鸟能提出点意见,当然如果能有更好的处理方法,请不吝赐教!

需求是这样的:公司是做j2ee服务器的,web容器,ejb容器都已经完成了,但是在对这些容器监控的时候,后台提供的数据都是英文,不可能再该,而页面则为了服务更多的中国客户,需要中文显示;

本人的实现:新建一个类,在该类中包含一个hashmap(在数据查找方面没有比这个容器更有效率的),声明一个静态块,将所有英文和中文转化的名值对放入该map中,源码:
public class NameConvert {

public static Map nameMap = new HashMap();
static{
nameMap.put("CreateCount", "创建的EJB实例数(个)");
nameMap.put("RemoveCount", "销毁的EJB实例数(个)");
nameMap.put("JSPCount", "已加载的jsp个数");
nameMap.put("milliseconds", "微秒");
nameMap.put("JMSMaxMessagesLoad", "JMS会话装载的最大消息数");
}

public NameConvert() {

}

public Map getNameMap() {
return nameMap;
}

public void setNameMap(Map nameMap) {
this.nameMap = nameMap;
}
}

注:转化个数比较多,本人只放了5个,
把hashmap放到static的好处是:这个类用的太频繁,如果每点用一次就要创建一个类的话,将是一个大的内存消耗,虽然java有垃圾回收机制,但是就像《effective java》中说的那样,不敢太相信它
用这个hashmap的话,只要将英文传进来,即可以得到相对应的中文信息

你可能感兴趣的:(java用static和hashmap高效处理汉化的问题)