- 浏览: 2049870 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (795)
- java (263)
- 聚类搜索引擎 (9)
- 经验之谈 (67)
- DSP (3)
- C++ (140)
- Linux (37)
- SNMP (6)
- Python (6)
- 数据库 (61)
- 网络 (20)
- 算法 (15)
- 设计模式 (4)
- 笔试题 (38)
- 散文 (35)
- 数据结构 (9)
- 银行知识 (0)
- 榜样 (9)
- Lucene (15)
- Heritrix (6)
- MetaSeeker (0)
- netbeans (12)
- php (3)
- 英语 (8)
- DB2 (0)
- java基础 (5)
- mongodb & hadoop (4)
- Javascript (7)
- Spring (4)
- ibatis & myibatis (1)
- velocity (1)
- 微服务 (0)
- paddle (1)
- 第三方 (0)
- 知识沉淀 (1)
- 建模 (0)
最新评论
-
0372:
标示对java很陌生!
中文乱码解决的4种方式 -
梦留心痕:
Java中\是转意字符, 可是你的这句话我没看懂,只要把得到的 ...
java中如何忽略字符串中的转义字符--转载 -
yanjianpengit:
[b][/b]
java为什么非静态内部类里面不能有静态成员 -
springdata-jpa:
可以参考最新的文档:如何在eclipse jee中检出项目并转 ...
eclipse 如何把java项目转成web项目 -
qq1130127172:
,非常好。
(转)SpringMVC 基于注解的Controller @RequestMapping @RequestParam..
Java Caching System
JCS(Java Caching System)是一个用分布式的缓存系统,是基于服务器的java应用程序。它是通过提供管理各种动态缓存数据来加速动态web应用。
JCS和其他缓存系统一样,也是一个用于高速读取,低速写入的应用程序。
动态内容和报表系统能够获得更好的性能。
如果一个网站,有重复的网站结构,使用间歇性更新方式的数据库(而不是连续不断的更新数据库),被重复搜索出相同结果的,就能够通过执行缓存方式改进其性能和伸缩性。
官方网站 http://jakarta.apache.org/turbine/jcs/
EHCache
EHCache 是一个纯java的分布式缓存,支持磁盘存储,它具有以下特性:快速,简单,为Hibernate2.1充当可插入的缓存,最小的依赖性,全面的文档和测试。
官方网站 http://ehcache.sourceforge.net/
OSCache
OSCache是一个广泛采用的高性能的J2EE缓存框架,OSCache能用于任何Java应用程序的普通的缓存解决方案。
OSCache有以下特点:
缓存任何对象,你可以不受限制的缓存部分jsp页面或HTTP请求,任何java对象都可以缓存。
拥有全面的API--OSCache API给你全面的程序来控制所有的OSCache特性。
永久缓存--缓存能随意的写入硬盘,因此允许昂贵的创建(expensive-to-create)数据来保持缓存,甚至能让应用重启。
支持集群--集群缓存数据能被单个的进行参数配置,不需要修改代码。
缓存记录的过期--你可以有最大限度的控制缓存对象的过期,包括可插入式的刷新策略(如果默认性能不需要时)。
官方网站 http://www.opensymphony.com/oscache/
Cache4J
Cache4J是一个接口简单,可以快速上手,基于BSD许可的开源缓存软件。
Cache4J有以下特点:
暂只只是内存缓存;
多线程环境设计;
2种实现:synchronized, blocking;
支持LFU, LRU, FIFO算法。
支持磁盘存储,分布式引用,以及LFU2, LRU2等算法将是Cache4J接下来要实现的功能;另外,该软件的使用指南和API文档均是俄文。
官方网站:http://cache4j.sourceforge.net/
JCache(FKache)
JCache是个开源程序,正在努力成为JSR-107开源规范,JSR-107规范已经很多年没改变了。这个版本仍然是构建在最初的功能定义上。
官方网站 http://jcache.sourceforge.net/
ShiftOne
ShiftOne Java Object Cache是一个执行一系列严格的对象缓存策略的Javalib,就像一个轻量级的配置缓存工作状态的框架。
官方网站 http://jocache.sourceforge.net/
SwarmCache
SwarmCache是一个简单且有效的分布式缓存,它使用IP multicast与同一个局域网的其他主机进行通讯,是特别为集群和数据驱动web应用程序而设计的。SwarmCache能够让典型的读操作大大超过写操作的这类应用提供更好的性能支持 SwarmCache使用JavaGroups来管理从属关系和分布式缓存的通讯。
官方网站 http://swarmcache.sourceforge.net
TreeCache / JBossCache
JBossCache是一个复制的事务处理缓存,它允许你缓存企业级应用数据来更好的改善性能。缓存数据被自动复制,让你轻松进行JBoss服务器之间的集群工作。JBossCache能够通过JBoss应用服务或其他J2EE容器来运行一个MBean服务,当然,它也能独立运行。
JBossCache包括两个模块:TreeCache和TreeCacheAOP。
TreeCache --是一个树形结构复制的事务处理缓存。
TreeCacheAOP --是一个“面向对象”缓存,它使用AOP来动态管理POJO(Plain Old Java Objects)
注:AOP是OOP的延续,是Aspect Oriented Programming的缩写,意思是面向方面编程。
官方网站 http://www.jboss.org/products/jbosscache
WhirlyCache
Whirlycache是一个快速的、可配置的、存在于内存中的对象的缓存。它能够通过缓存对象来加快网站或应用程序的速度,否则就必须通过查询数据库或其他代价较高的处理程序来建立。
官方网站 https://whirlycache.dev.java.net/
Jive Cache
Jive论坛曾经是一个广受欢迎的开放源码的论坛项目,现在已经商业化了,它有很多值得我们学习的地方。jive 2.6.0 的缓存机制,把所要缓存的对象加到HashMap哈希映射表中,用两个LinkedListedlist双向链表分别维持着缓存对象和每个缓存对象的生命周期,如果一个缓存对象被访问到,那么就把它放到链表的最前面,然后不定时的把要缓存对象的对象加入链表中,把过期对象删除,如此反复。
官方网站 http://www.jivesoftware.com
OFBiz Cache
OFBiz是一个非常著名的开源项目,提供了创建基于最新J2EE/XML规范和技术标准,构建大中型企业级、跨平台、跨数据库、跨应用服务器的多层、分布式电子商务类WEB应用系统的框架。 OFBiz最主要的特点是OFBiz提供了一整套的开发基于Java的web应用程序的组件和工具。包括实体引擎, 服务引擎, 消息引擎, 工作流引擎, 规则引擎等。Ofbiz与Jive实现的Cache类似,只是Ofbiz中根本都不关心每个对象的Size,只关心总体的HashMap的Size;Jive为了实现双向联表,而在Ofbiz中用的是java.util.LinkedList。
官方网站 http://www.ofbiz.org/
附:cache4j_perfomance_tester对几个常用Cache的性能测试报告:
[java] --------------------------------------------------------------- [java] java.version=1.4.2_09 [java] java.vm.name=Java HotSpot(TM) Client VM [java] java.vm.version=1.4.2-54 [java] java.vm.info=mixed mode [java] java.vm.vendor="Apple Computer, Inc." [java] os.name=Mac OS X [java] os.version=10.4.5 [java] os.arch=ppc [java] --------------------------------------------------------------- [java] This test can take about 5-10 minutes. Please wait ... [java] --------------------------------------------------------------- [java] |GetPutRemoveT |GetPutRemove |Get | [java] --------------------------------------------------------------- [java] cache4j 0.4 |9410 |9053 |5865 | [java] oscache 2.2 |28076 |30833 |8031 | [java] ehcache 1.2 |8753 |7072 |3479 | [java] jcs 1.2.7.0 |8806 |9522 |4097 | [java] ---------------------------------------------------------------
发表评论
-
流式计算
2022-02-07 14:31 286private void postHandle(List& ... -
消息队列使用的四种场景介绍
2018-08-09 16:34 2478以下介绍消息队列在实际应用中常用的使用场 ... -
设计模式
2018-04-11 16:49 9861.桥梁模式,将抽象部分与实现部分隔离开,抽象部分持有实现 ... -
Spring boot web可以访问Service和Mapper层
2018-03-26 16:42 2872Spring boot的web层可以访问Service层,然 ... -
FreeMarker的基础语法使用 && 心得和技巧
2018-01-10 10:03 2063FreeMarker是一个模板引 ... -
webService----wss4j+cxf实现WS-Security(基于UsernameToken)
2017-10-23 18:58 1561分享一下wss4j+cxf基于UsernameToken的安 ... -
Spring MVC之LocaleResolver(解析用户区域)
2017-09-23 15:55 2534为了让web应用程序支持国际化,必须识别每个用户的首选区域, ... -
(转)java泛型
2016-11-12 20:29 1650http://www.cnblogs.com/lwbqqyu ... -
java中如何忽略字符串中的转义字符--转载
2016-06-28 16:42 9916原文地址:http://my ... -
(转)关于JAP FetchType.LAZY(hibernate实现)的理解 .
2016-04-27 15:22 5108JPA定义实体之间的关系有如下几种: @OneToOne ... -
(转)hibernate annotation注解方式来处理映射关系
2016-04-26 16:52 1841http://www.cnblogs.com/xiao ... -
代码片段,导出的文件头
2015-11-18 20:34 1606public static void setDownload ... -
(转)为什么要两次调用encodeURI来解决乱码问题
2015-08-03 20:19 2489地址:http://blog.csdn.net/howla ... -
杀死进程
2015-07-21 14:54 1293sudo lsof -i :9000 COMMAND P ... -
批处理batch,执行多个SQL语句
2015-07-15 19:21 10616批处理batch,执行多个SQL语句。 ... -
中文乱码解决的4种方式
2015-07-03 14:20 2630目前收集到4中方法,中文传参一documentPath为例: ... -
GET请求的中文乱码问题及处理意义
2015-07-03 13:47 6635首先看一段乱码的程序 ... -
java.ByteArrayInputStream与ByteArrayOutputStream再次理解
2015-03-16 17:59 3242第一次看到ByteArrayOutputStream的时 ... -
(转)SpringMVC 基于注解的Controller @RequestMapping @RequestParam..
2014-07-28 17:42 2282概述 继 Spring 2.0 对 Spring MVC ... -
java中序列化的serialVersionUID解释
2014-07-25 09:26 1891serialVersionUID: 字面意思上是序列化的版本号 ...
相关推荐
4. **异常处理**:Java的异常处理机制有助于在程序出错时提供清晰的错误信息,通过try-catch-finally语句块进行捕获和处理。 5. **JDBC(Java Database Connectivity)**:Java项目通常涉及到数据库操作,JDBC是...
`try-catch`块是Java异常处理的核心部分,它允许程序员在代码可能出现问题的地方进行异常捕获和处理,避免程序因未预期的错误而崩溃。下面我们将详细讨论`try-catch`捕获异常的实例。 首先,`try`块是包含可能抛出...
在这个“java小项目练习IO实现”中,我们将探讨如何利用Java的IO流来实现本地数据的序列化与反序列化,以及如何将这些概念应用到实际项目中,比如“Olymplic Games Project(IO版)”。 首先,让我们理解什么是序列化...
通过编写项目,学习者可以了解如何使用try-catch-finally语句块,自定义异常,以及如何进行全局异常处理。 7. **网络编程**:Java提供了Socket编程接口,可以用于创建TCP/IP或UDP通信的应用。例如,构建一个简单的...
【Java毕业项目设计】是IT领域中一个典型的实践任务,主要针对的是正在学习或已经完成北大青鸟S2阶段学习的学员。这个阶段通常涵盖了中级Java编程和软件开发的基础概念,旨在通过实际项目来巩固理论知识,提升技能...
在Java编程中,读取项目中的文件,特别是位于`src`目录下的文件,是一个常见的需求。这涉及到对项目结构的理解和使用Java I/O流的知识。`src`目录通常包含源代码文件,而运行时,这些文件会被编译并放置到类路径...
在编程实现上,项目采用Java语言,利用其丰富的类库如`JFileChooser`进行文件操作,通过异常处理机制(如`try-catch`块)来处理可能出现的错误,确保程序的稳定性和健壮性。例如,在打开或保存文件时,如果发生异常...
视频资源`fianlly_catch_finally.avi.avi`可能包含了演示如何在实际项目中应用这些概念的实例。通过观看这个视频,学习者可以更直观地理解`try-catch-finally`的工作机制,看到异常是如何被抛出、捕获和处理的。 总...
这个“适合小白的Java练手项目”是为那些刚开始接触编程或者Java的新手设计的,旨在帮助他们通过实践来巩固理论知识。 1. **变量与数据类型**:Java有基本数据类型(如int、char、boolean)和引用数据类型(如类、...
"Java 项目开发详解" Java 项目开发是 Java 开发者的必备技能,以下是关于 Java 项目开发的详细知识点: 1. Java 基础知识:Java 项目开发需要具备良好的 Java 基础知识,包括变量、数据类型、运算符、控制结构、...
2. **异常处理**:Java提供了丰富的异常处理机制,如try-catch-finally语句块,使得程序能够优雅地处理错误情况。测试项目中,异常处理的测试是非常重要的一环,确保代码在遇到预期之外的问题时能妥善应对。 3. **...
在本项目"Java数据库系统项目开发实践--物流管理系统"中,我们将探讨如何使用Java技术和数据库系统来构建一个高效、实用的物流管理系统。这个系统旨在帮助物流公司跟踪货物的运输过程,管理订单,以及优化配送路线。...
《30天学通Java Web项目案例开发(中)源码》是一份旨在帮助初学者在30天内掌握Java Web开发技术的实践教程。这个压缩包包含了项目的中期部分源代码,由于文件大小限制,完整的项目案例被分段上传。通过深入学习这份...
Java中的try-catch-finally结构用于捕获并处理可能出现的错误。 5. **多线程**:如果项目包含异步操作,比如后台数据加载,那么多线程的概念就很重要。Java提供了Thread类和Runnable接口来实现并发。 在MySQL...
【Java小项目源代码】是针对初学者设计的一个实践项目,旨在帮助新手通过实际操作来学习和理解Java编程语言的基础知识,特别是J2SE(Java 2 Standard Edition)的部分。这个项目提供了完整的源代码,让学习者能够...
【DMS_day01_am_java的dms项目】是一个针对初学者设计的Java课程项目,主要涵盖Java基础知识在实际项目中的应用。这个项目是达内教育机构Java课程第四周的教学内容,旨在帮助学员深入理解Java编程语言,并通过实践...
在“java实战项目code部分(15个项目)”这个压缩包中,我们很可能会找到一系列针对不同场景的Java项目源代码,每个项目都代表着一个特定的知识点和技能。以下是基于这些项目的可能知识点和相关技术的详细解析: 1....
11. **异常处理**:Java中的异常处理机制是确保程序健壮性的重要手段,项目中会涉及try-catch-finally语句和自定义异常。 12. **多线程与并发**:Java提供了丰富的多线程API,如Thread、ExecutorService、...
【Java平台项目一】是针对Java学士后阶段的学习者设计的一个实践项目,旨在加深对Java编程语言的理解和应用能力。这个项目可能涵盖了基础到高级的Java编程概念,包括面向对象设计、异常处理、集合框架、多线程、输入...
4. 异常处理:Java通过try-catch-finally语句块来捕获和处理运行时错误。在Bank项目中,可能遇到诸如负数存款、余额不足等情况,此时可以抛出异常并进行相应的处理。 5. 集合框架:ArrayList、LinkedList、HashMap...