// 系统编码
String systemEncoding = (new OutputStreamWriter(new ByteArrayOutputStream())).getEncoding();
HashMap vs FastHashMap:原文参考http://frenchmay.iteye.com/blog/226784
public class FastHashMap extends HashMap {
protected HashMap map = null;
protected boolean fast = false;
public FastHashMap() {
super();
this.map = new HashMap();
}
}
FastHashMap继承于HashMap,存储由HashMap实现的,通过fast来设置是否是以快速模式执行.可以初步认为FashHashMap是HashMap的一个代理.
public Object get(Object key) {
if (fast) {
// get方法的实现是线程安全的
return (map.get(key));
} else {
// 对整个map对象同步
synchronized (map) {
return (map.get(key));
}
}
}
所以FastHashMap在get速度上比HashMap快!
public Object put(Object key, Object value) {
if (fast) {
synchronized (this) {
// 克隆一个map,再在map上操作,再替换map;在替换map前所有对象都读取map;
HashMap temp = (HashMap) map.clone();
Object result = temp.put(key, value);
map = temp;
return (result);
}
} else {
synchronized (map) {
return (map.put(key, value));
}
}
}
做的测试是在slow模式下的FastHashMap和hashmap在单线程访问的情形下,读/取50000
个long类型的测试举例.
结果是
Result:
HashMap put 50000 Object using1.021s
FastHashMap put 50000 Object using1.221s
HashMap get 50000 Object using0.561s
FastHashMap get 50000 Object using0.04s
分享到:
相关推荐
OpenCms 7.5.x 是一个开源的内容管理系统(CMS),专为构建和管理网站而设计。这个版本的OpenCms特别关注了对中国用户的本地化支持,因此被称为“Locale China汉化”版本。本地化(Localization)是软件开发中的一个...
在"eclipse-FTP-WebDAV-OpenCms7.5.x.zip"这个压缩包中,可能包含的是专门为Eclipse设计的FTP和WebDAV插件,或者是针对OpenCms 7.5.x的开发工具集,这些工具集可能包括配置文件、库文件以及如何将这些插件集成到...
对插件info.rsdev.eclipse.opencms.module.developer进行了功能增强,实现了按选择了项目/目录/文件进行上传;不上传传"."/"test"开头的内容;增加只对classes目录的上传\发布,本版新增支持OpenCMS7.5以上版本
《OpenCms 7 Development》是一本专注于OpenCms二次开发的专业资料,它为开发者提供了深入理解OpenCms系统架构和进行高效定制化的关键指导。OpenCms是一款开源的内容管理系统,广泛应用于企业网站、新闻门户和其他...
OpenCMS 是一个开源的内容管理系统(CMS),主要由Java语言开发,专为构建企业级网站提供了一个强大而灵活的平台。其Java API 提供了丰富的功能,使得开发者可以通过编程方式与OpenCMS系统进行交互,实现内容的创建...
OpenCms是一款强大的开源内容管理系统(CMS),专为构建和管理网站而设计。这款系统以其易用性、灵活性和可扩展性赢得了用户的喜爱。本文将深入解析OpenCms的中文文档,帮助用户快速掌握该系统的各项功能和操作。 ...
《OpenCms开发指南》:深入理解与定制OpenCms OpenCms是一款开源的内容管理系统,旨在为企业级网站提供高效、灵活的管理解决方案。由Alkacon Software开发,OpenCms支持多语言、多站点管理和内容版本控制等功能,是...
### OpenCMS:构建网站的新选择 #### 一、OpenCMS简介与特性 OpenCMS是一款功能强大的开源内容管理系统(Content Management System, CMS),它主要用于构建、管理和维护企业级网站。该系统支持多语言、多用户和多...
### OpenCms创建网站过程详解 #### 一、OpenCms简介及背景 OpenCms是一款开源的内容管理系统(Content Management System, CMS),它基于Java技术,主要用于构建和管理复杂的多语言网站。OpenCms提供了强大的功能集...
标题中的“opencms配置去掉2个opencms”指的是在OpenCms系统中,可能有用户想要移除或禁用两个特定的OpenCms组件或功能,可能是出于优化性能、减少冗余或者简化系统的考虑。OpenCms是一款开源的内容管理系统,它允许...
OpenCms 是一款开源的内容管理系统(CMS),专为创建、管理和发布数字内容而设计。它提供了丰富的功能,包括模板驱动的网站生成、基于角色的安全控制、工作流程支持以及多语言支持。OpenCms 内容类型模块是系统的...
在IT行业中,OpenCMS是一个开源的内容管理系统,用于构建和管理企业级的网站。当我们部署或使用OpenCMS时,可能会遇到URL路径中包含“opencms”两次的情况,这可能对网站的用户体验和SEO(搜索引擎优化)产生不利...
OpenCMS 是一个开源的内容管理系统(CMS),用于构建和管理企业级的网站。它基于Java技术栈,提供了一套全面的功能,包括内容创建、版本控制、工作流管理、多语言支持等。二次开发是指对OpenCMS的原始代码进行修改或...
OpenCms是一个开源的内容管理系统(CMS),用于构建和管理企业级的网站。它基于Java技术栈,提供了一套全面的功能,包括内容创作、版本控制、工作流管理、多语言支持等。标题提到的是OpenCms的7.5.3版本,这是一个...
**OpenCMS内容管理入门指南** OpenCMS是一款开源的内容管理系统(CMS),它提供了强大的网站内容创建、管理和发布的功能。本入门指南将带你深入了解OpenCMS的基本概念、安装部署过程以及开发实践,帮助你快速掌握这...
OpenCms中文用户手册是为了解决开源网站内容管理系统OpenCms的使用者在操作和管理过程中遇到的问题而编写的详尽指南。OpenCms是一款基于Java技术构建的强大的Web内容管理系统,它提供了一套完整的解决方案,用于创建...
OpenCMS 是一个开源的内容管理系统(CMS),用于构建和管理企业级的网站。版本 9.0.1 是 OpenCMS 的一个重要里程碑,它提供了一系列的功能改进和优化。汉化包则是针对非英语用户群体,将软件界面及文档翻译成中文,...
OpenCMS(开源内容管理系统)是一款基于Java技术的开源Web内容管理系统,广泛应用于企业级网站建设和管理。本教程“opencms教程.rar”旨在帮助用户掌握OpenCMS的基本操作和高级功能,以便有效地创建、管理和维护网站...