Java开源Apache项目
Commons-Pool:
创建新的对象并初始化的操作,可能会消耗很多的时间。在这种对象的初始化工作包含了一些费时的操作(例如,从一台位于20,000千米以外的主机上读出一 些数据)的时候,尤其是这样。在需要大量生成这样的对象的时候,就可能会对性能造成一些不可忽略的影响。要缓解这个问题,除了选用更好的硬件和更棒的虚拟 机以外,适当地采用一些能够减少对象创建次数的编码技巧,也是一种有效的对策。对象池化技术(Object Pooling)就是这方面的著名技巧,而Jakarta Commons Pool组件则是处理对象池化的得力外援。
Commons-Math:
Math 是一个轻量的,自包含的数学和统计组件,解决了许多非常通用但没有及时出现在Java标准语言中的实践问题。
Commons-Jelly:
Jelly能够把XML转换成可执行代码,所以Jelly是一个基于XML与Java的脚本和处理引擎。 Jelly借鉴了JSP定指标签,Velocity, Cocoon和Xdoclet中的脚本引擎的许多优点。Jelly可以用在命令行,Ant或者Servlet之中。
Commons-FileUpload:
FileUpload 使得在你可以在应用和Servlet中容易的加入强大和高性能的文件上传能力。
Commons-BeanUtils:
Commons-BeanUtils 提供对 Java 反射和自省API的包装。
Commons-Chain:
Chain 提供实现组织复杂的处理流程的“责任链模式”。
Commons-Codec:
Codec 包含一些通用的编码解码算法。包括一些语音编码器, Hex, Base64, 以及URL encoder。
Commons-Discovery:
Commons-Discovery 提供工具来定位资源 (包括类) ,通过使用各种模式来映射服务/引用名称和资源名称。
Commons-EL:
Commons-EL 提供在JSP2.0规范中定义的EL表达式的解释器。
Commons-Jexl:
Jexl是一个表达式语言,通过借鉴来自于Velocity的经验扩展了JSTL定义的表达式语言。
Apache Forrest:
Apache Forrest是一个把来自各种不同的输入数据源转换成用一种或多种输出格式(比如HTML,PDF等)来统一显示的发布系统。它基于Apache Cocoon并分离了内容与内容结构,不仅可以生成静态的文档也可以当作一个动态的服务器。
Apache POI:
Apache POI可以让你使用Java来读写MS Excel ,Word、PowerPoint文件。
MINA:
MINA (Multipurpose Infrastructure for Network Applications)是一个网络应用程序框架。用户利用它可以容易地开发高性能和高伸缩性的网络应用程序。
Commons-Configuration:
Commons-Configuration 工具可以从
*Properties文件
*XML文件
*JNDI
*JDBC 数据源
*System properties
*Applet parameters
*Servlet parameters等来读取相应的信息
Commons-validator:
commons-validator提供了一个简单的,可扩展的框架来在一个XML文件中定义校验器 (校验方法)和校验规则。支持校验规则的和错误消息的国际化。
JXPath:
org.apache.commons.jxpath定义了一个简单的XPath表达式语言的解析器.JXPath应用XPath表达式来操纵各种类型的对象包括:JavaBeans,Maps,Servlet contexts,DOM等。
Commons Betwixt:
Commons Betwixt这个组件提供一个XML自省(introspection)机制用来把Java Bean映射到XML文档.他实现了与标准的Introspector及BeanInfo类相似的XMLIntrospector及XMLBeanIfno类。
Jakarta ORO:
Jakarta ORO一套文本处理工具,能提供perl5.0兼容的正则表达式,AWK-like正则表达式, glob表达式。还提供替换,分割,文件名过虑等功能。
Jakarta Regexp:
Regexp是一个100%纯java正则式处理包,是Jonathan Locke捐给Apache软件基金会的。
Commons-Convert:
Commons-Convert的目标是提供一个简单的包来完成把一种类型的对象转换成另一种.但它目前只支持String到Object或Object到String的转换。
Commons-Email:
Commons-Email的目的是提供一组用于发送Email的API,它基于Java Mail API基础之上并进行了简化。它提供的主要Java类有:SimpleEmail:这个类用于发送简单的文本类型email。MultiPartEmail:这个类允许发送文本消息并附带附件。HtmlEmail:用于发送Html格式的附件并支持内含图片。EmailAttachment:这是一个简单的容器类用于简化附件的处理。
Commons-IO:
Commons IO是Jakarta Commons项目的一个子项目。用来帮助进行IO功能开发.它包含三个主要的领域:Utility classes-提供一些静态方法来完成公共任务.Filters-提供文件过滤器的各种实现.Streams-提供实用的Stream,reader与writer实现。
XML Security:
XML Security项目是为XML安全标准(XML-Signature Syntax and Processing:XML数字签名语法和处理规则;XML Encryption Syntax and Processing:XML加密语法和处理规则)提供Java及C++实现的开源项目。它当前的Java类包中包括了一个成熟的数字签名实现。
ECS:
Jakarta Element Construction Set(ECS是一个使用Java语言和面向对象方法创建标记语言文档(HTML,XML)的开源项目。
Apache Harmony:
Apache Harmony是Apache软件基金会的一个开放源码JavaSE的实现。其目标是完成一个兼容的、独立的JavaSE5 JDK实现,并基于Apache License v2许可发布;和一个由社区开发的模块化的运行时(包括虚拟机和类库)体系结构。
Apache Commons-VFS:
VFS为访问各种不同的文件系统提供了单一的应用程序编程接口(API),大大的简化了应用程序本身代码的复杂度。目前VFS支持FTP、Local Files 、HTTP/HTTPS、SFTP、Temporary Files、Zip、Jar/Tar(uncompressed、tgz or tbz2)、gzip/bzip2、res、ram所有这些文件系统中的文件被封装成了FileObject这个类,文件的读写操作都通过此类来完成。文件的路径采用了URL的方式。
Apache Mahout:
Mahout项目Apache Lucene开源搜索引擎的一个子项目。在其中实现一些常见的用于集群、分类和CP的机器学习算法。
Apache Continuum:
Apache Continuum是一个企业级持续集成服务器。提供的特性包括:自动构建、发布管理、基于角色的权限管理、源码控制系统、与其它流行构建工具相集成。不管你是否需要集中构建,还是开发人员手动控制发布。Continuum都能够帮助你改进质量和维护一个协调的构建环境。
Apache Compress Ant Library:
Apache Compress Ant Library提供了一些Tasks和Types来读写各种类型的压缩文件和存档文件。支持AR、BZIP2、CPIO、GZIP、TAR和ZIP格式。
Apache Directory Studio:
Apache Directory Studio是一个LDAP工具平台,支持连接到任何 LDAP服务器并进行管理和开发工作,但主要还是设计用于Apache Directory Server。功能包括:LDAP浏览器、LDIF编辑器、Schema编辑器、嵌入式 ApacheDS、ACI编辑器。