Java开源Apache项目

本文概述了Java领域的常用开源框架与库,包括对象池、数学计算、XML转换、文件上传、Bean处理、责任链模式、编码解码、配置读取、验证规则、XPath解析、JavaBean映射、文本处理、文件读写、XML安全、HTML转换、IO操作、分布式计算、空间框架、模块化应用程序、内容管理、依赖管理、SSH协议、文档解析、内容索引、CMIS实现、非结构化内容分析、科学计算、数据序列化、云计算客户端、大规模数据分析、Jini技术、文件压缩、前端与后端开发、移动开发、游戏开发、大数据开发、开发工具、嵌入式开发、音视频处理、AI应用、测试、基础运维、DevOps、操作系统、云计算、自然语言处理、区块链、隐私计算、文档协作、版本控制、项目管理、有监督学习、无监督学习、强化学习、数据安全、数据挖掘、数据结构、算法、非IT技术、自动推理、人工神经网络、自动驾驶、数据分析、数据工程、数据挖掘、程序设计方法、数据库理论、代码管理工具

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  Commons-Pool 
Commons-Pool 提供了通用对象池接口,一个用于创建模块化对象池的工具包,以及通常的对象池实

更多Commons-Pool信息

  Commons-Math 
Math 是一个轻量的,自包含的数学和统计组件,解决了许多非常通用但没有及时出现在Java标准语言中的实践问题.

更多Commons-Math信息

  Commons-Jelly 
Jelly能够把XML转换成可执行代码,所以Jelly是一个基于XML与Java的脚本和处理引擎。 Jelly借鉴了JSP定指标签,Velocity, Cocoon和Xdoclet中的脚本引擎的许多优点。Jelly可以用在命令行,Ant或者Servlet之中。

更多Commons-Jelly信息

  Commons-FileUpload 
FileUpload 使得在你可以在应用和Servlet中容易的加入强大和高性能的文件上传能力.

更多Commons-FileUpload信息

  Commons-BeanUtils  
Commons-BeanUtils 提供对 Java 反射和自省API的包装

更多Commons-BeanUtils 信息

  Commons-Chain 
Chain 提供实现组织复杂的处理流程的“责任链模式”.

更多Commons-Chain信息

  Commons-Codec 
Codec 包含一些通用的编码解码算法。包括一些语音编码器, Hex, Base64, 以及URL encoder.

更多Commons-Codec信息

  Commons-Discovery 
Commons-Discovery 提供工具来定位资源 (包括类) ,通过使用各种模式来映射服务/引用名称和资源名称。

更多Commons-Discovery信息

  Commons-EL 
Commons-EL 提供在JSP2.0规范中定义的EL表达式的解释器.

更多Commons-EL信息

  Commons-Jexl 
Jexl是一个表达式语言,通过借鉴来自于Velocity的经验扩展了JSTL定义的表达式语言。.

更多Commons-Jexl信息

  Apache Forrest 
Apache Forrest是一个把来自各种不同的输入数据源转换成用一种或多种输出格式(比如HTML,PDF等)来统一显示的发布系统。它基于Apache Cocoon并分离了内容与内容结构,不仅可以生成静态的文档也可以当作一个动态的服务器。

更多Apache Forrest信息

  Apache POI 
Apache POI可以让你使用Java来读写MS Excel ,Word、PowerPoint文件

更多Apache POI信息

  MINA 
MINA (Multipurpose Infrastructure for Network Applications)是一个网络应用程序框架。用户利用它可以容易地开发高性能和高伸缩性的网络应用程序。

更多MINA信息

  Commons-Configuration 
Commons-Configuration 工具可以从 *Properties文件 *XML文件 *JNDI *JDBC 数据源 *System properties *Applet parameters *Servlet parameters等来读取相应的信息

更多Commons-Configuration信息

  Commons-validator 
commons-validator提供了一个简单的,可扩展的框架来在一个XML文件中定义校验器 (校验方法)和校验规则。支持校验规则的和错误消息的国际化。

更多Commons-validator信息

  JXPath 
org.apache.commons.jxpath定义了一个简单的XPath表达式语言的解析器.JXPath应用XPath表达式来操纵各种类型的对象包括:JavaBeans,Maps,Servlet contexts,DOM等.

更多JXPath信息

  Commons Betwixt 
Commons Betwixt这个组件提供一个XML自省(introspection)机制用来把Java Bean映射到XML文档.他实现了与标准的Introspector及BeanInfo类相似的XMLIntrospector及XMLBeanIfno类.

更多Commons Betwixt信息

  Jakarta ORO 
Jakarta ORO一套文本处理工具,能提供perl5.0兼容的正则表达式,AWK-like正则表达式, glob表达式。还提供替换,分割,文件名过虑等功能.

更多Jakarta ORO信息

  Jakarta Regexp 
Regexp是一个100%纯java正则式处理包,是Jonathan Locke捐给Apache软件基金会的。

更多Jakarta Regexp信息

  Commons-Convert 
Commons-Convert的目标是提供一个简单的包来完成把一种类型的对象转换成另一种.但它目前只支持String到Object或Object到String的转换.

更多Commons-Convert信息

  Commons-Email 
Commons-Email的目的是提供一组用于发送Email的API,它基于Java Mail API基础之上并进行了简化。它提供的主要Java类有:SimpleEmail:这个类用于发送简单的文本类型email。MultiPartEmail:这个类允许发送文本消息并附带附件。HtmlEmail:用于发送Html格式的附件并支持内含图片。EmailAttachment:这是一个简单的容器类用于简化附件的处理。

更多Commons-Email信息

  Commons-IO 
Commons IO是Jakarta Commons项目的一个子项目。用来帮助进行IO功能开发.它包含三个主要的领域:Utility classes-提供一些静态方法来完成公共任务.Filters-提供文件过滤器的各种实现.Streams-提供实用的Stream,reader与writer实现.

更多Commons-IO信息

  XML Security 
XML Security项目是为XML安全标准(XML-Signature Syntax and Processing:XML数字签名语法和处理规则;XML Encryption Syntax and Processing:XML加密语法和处理规则)提供Java及C++实现的开源项目。它当前的Java类包中包括了一个成熟的数字签名实现。

更多XML Security信息

  ECS 
Jakarta Element Construction Set(ECS是一个使用Java语言和面向对象方法创建标记语言文档(HTML,XML)的开源项目。

更多ECS信息

  Apache Harmony 
Apache Harmony是Apache软件基金会的一个开放源码JavaSE的实现。其目标是完成一个兼容的、独立的JavaSE5 JDK实现,并基于Apache License v2许可发布;和一个由社区开发的模块化的运行时(包括虚拟机和类库)体系结构。

更多Apache Harmony信息

  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 Commons-VFS信息

  Apache Mahout 
Mahout项目Apache Lucene开源搜索引擎的一个子项目。在其中实现一些常见的用于集群、分类和CP的机器学习算法。

更多Apache Mahout信息

  Apache Continuum 
Apache Continuum是一个企业级持续集成服务器。提供的特性包括:自动构建、发布管理、基于角色的权限管理、源码控制系统、与其它流行构建工具相集成。不管你是否需要集中构建,还是开发人员手动控制发布。Continuum都能够帮助你改进质量和维护一个协调的构建环境。 Continuum.gif

更多Apache Continuum信息

  Apache Compress Ant Library 
Apache Compress Ant Library提供了一些Tasks和Types来读写各种类型的压缩文件和存档文件。支持AR、BZIP2、CPIO、GZIP、TAR和ZIP格式。

更多Apache Compress Ant Library信息

  Apache Directory Studio 
Apache Directory Studio是一个LDAP工具平台,支持连接到任何 LDAP服务器并进行管理和开发工作,但主要还是设计用于Apache Directory Server。功能包括:LDAP浏览器、LDIF编辑器、Schema编辑器、嵌入式 ApacheDS、ACI编辑器。
apacheldap.png

更多Apache Directory Studio信息

  Apache Cassandra 
 
Apache Cassandra是一套开源分布式Key-Value存储系统。它最初由Facebook开发,用于储存特别大的数据。拥有:分布式;基于column的结构化;高伸展性等特点。它不是一个数据库,而是由一堆数据库节点共同构成的一个分布式网络服务,对Cassandra 的一个写操作,会被复制到其他节点上去,对Cassandra的读操作,也会被路由到某个节点上面去读取。对于一个Cassandra群集来说,扩展性能 是比较简单的事情,只管在群集里面添加节点就可以了。Cassandra是一个混合型的非关系的数据库,类似于Google的BigTable。其主要功能比Dynomite(分布式的Key-Value存 储系统)更丰富,但支持度却不如文档存储MongoDB(介于关系数据库和非关系数据库之间的开源产品,是非关系数据库当中功能最丰富,最像关系数据库 的。支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。)Cassandra最初由Facebook开发,后转变成了开源项目。它是一个网络社交云计算方面理想的数据库。以Amazon专有的完全分布式的Dynamo为基础,结合了Google BigTable基于列族(Column Family)的数据模型。P2P去中心化的存储。很多方面都可以称之为Dynamo 2.0。

更多Apache Cassandra信息

  Apache Hadoop 
Apache Hadoop是一个用java语言实现的软件框架,在由大量计算机中运行海量数据的分布式计算,它可以让应用程序支持上千个节点和PB级 Hadoop是从google的MapReduce和Google文件系统的论文获得的灵 Hadoop是Apache的一线项目,开发和实用来自世界各地的社区,Yah 止最大的贡献者,并且Yahoo广泛使用它在搜索业务和广告业务上。IBM和联合就是使用的Hadoop,为大学的课程提供分布式计算。 Hadoop的创始人是Doug Cutting(目前在yahoo工作),关于hadoop Doug Cutting在它儿子画图时画了一只大象而获得的灵感。其实Doug C 的目的是想为Nutch搜索引擎提供分布式。 hadoop有三个子项目:Hadoop core,HBase, Zookeeper。
收录时间:2010-09-30 21:36:59

更多Apache Hadoop信息

  Apache SIS 
Apache SIS 是一个空间的框架,可以更好地搜索,数据聚类,归档,或任何其他相关的空间坐标表示的需要。
收录时间:2010-12-13 08:56:47

更多Apache SIS信息

  Apache Clerezza 
ApachClerezza是一个基于OSGi的模块化应用程序和一组组件(bundles)用来构建RESTFul Semantic Web应用和服务。它提供了一个API来访问RDF Graphs,一个Jax RS实现,TypeHandlers: Jax-RS资源绑定到RDF类型。
收录时间:2010-12-14 23:21:56

更多Apache Clerezza信息

  Apache Ivy 
Apache Ivy 是Apache Ant 的一个子项目,提供了一致、可重复、易于维护的方法,来管理项目的所有构建依赖项。它提供了一些强大的功能包括依赖传递,ant集成, maven存储库兼容,持续集成,html报告等。
收录时间:2011-01-03 11:30:10

更多Apache Ivy信息

  Apache SSHD 
Apache SSHD是一个100%纯Java类库用于在基于Java开发的客户端与服务器提供SSH协议支持。这个类库采用Apache MINA开发,它是一个可扩展和高性能的异步IO类库。
收录时间:2011-01-18 22:42:18

更多Apache SSHD信息

  Apache Tika 
Apache Tika是一个Java工具包用于利用现有的解析类库,从不同格式的文档中(例如HTML,PDF,Doc),检测和提取出元数据和结构化内容。 功能包括: 1.检测文档的类型,字符编码,语言,等其他现有文档的属性。2.提取结构化的文字内容。3.该项目的目标使用群体主要为搜索引擎以及其他内容索引和分析工具。目前支持的文档格式和对应的解析类库如下: 
文档格式相应的解析类库
HTMLTagSoup
XML自定义
微软的Office文档Apache POI
OpenDocument format (ODF)自定义
PDFApache PDFBox
EPUB自定义
Rich Text Format (RTF)自定义
压缩文件格式(如 ar, cpio, tar, zip, gzip, bzip2等)Apache组织的Commons Compress
TxtICU
音频格式主要采用Java的标准图像处理包javax.sound
图像格式Java的标准图像处理包javax.imageio, 以及 metadata-extractor软件包。
视频格式目前只支持Flash格式。
Java类文件自定义
邮件mbox文件格式自定义
收录时间:2011-01-24 17:35:43

更多Apache Tika信息

  Apache Chemistry 
Apache Chemistry是 Content Management Interoperability Services (CMIS) 规范的一个开源实现。该项目当前由以下子项目组成:
  • OpenCMIS - CMIS Java客户端和服务器端类库
  • cmislib - CMIS Python客户端类库
  • phpclient - CMIS PHP客户端类库
  • DotCMIS - CMIS .NET客户端类库
opencmis-layers.png
收录时间:2011-02-24 20:45:25

更多Apache Chemistry信息

  Apache UIMA 
Apache UIMA 是UIMA定义的Apache开源实现。UIMA是一个用于分析非结构化内容(比如文本、视频和音频)的组件架构和软件框架实现。这个框架的目的是为非结构化分析提供一个通用的平台,从而提供能够减少重复开发的可重用分析组件。
UIMA 架构允许您轻松插入定制的分析组件,并将它们与其他组件合并。您的 UIMA 应用程序不需要知道分析组件共同合作生成结果的细节。集成和组织多个分析组件是 UIMA 框架的工作。
UIMA 应用程序可能分析纯文本并识别人员、位置和组织;它也可能识别关系,比如为谁工作或在什么地方工作。应用程序通常可以拆分成组件。例如 “语言识别” => “特定于语言的部分” => “句子范围检测” => “实体检测(人员/位置的名称等等)”。
收录时间:2011-03-24 08:52:09

更多Apache UIMA信息

  Hama  
Hama是一个分布计算框架,基于BSP (Bulk Synchronous Parallel大容量同步并行)计算技术,主要针对大规模科学的计算。
收录时间:2011-04-01 21:16:56

更多Hama 信息

  数据序列化框架Apache Avro 
Avro是Hadoop中的一个子项目,也是Apache中一个独立的项目,Avro是一个基于二进制数据传输高性能的中间件。在Hadoop的其他项目中例如HBase和Hive的Client端与服务端的数据传输也采用了这个工具,Avro可以做到将数据进行序列化,适用于远程或本地大批量数据交互。 在传输的过程中Avro对数据二进制序列化后 节约数据存储空间 和 网络传输带宽。Avro还可以做到在同一系统中支持多种不同语言,也有点类似Apache的另一个产品:Thrift,对于Thrift不同的是Avro更加具有灵活性,Avro可以支持对定义的数据结构(Schema)动态加载,利于系统扩展。摘自: Avro入门1–序列化与远程通信 Avro 
收录时间:2011-05-06 16:24:07

更多数据序列化框架Apache Avro信息

  云计算客户端开发包:Libcloud 
Apache 网站的顶级项目,Libcloud是一个通用的云计算客户端开发包,Libcloud是许多流行的云服务提供商的标准客户端库,有Python和Java两种版本。以下是当前Java版对各云服务提供商的情况: Libcloud.jpg
收录时间:2011-05-30 22:57:15

更多云计算客户端开发包:Libcloud信息

  Apache Pig 
Pig是一个基于Hadoop的大规模数据分析平台,它提供的SQL-LIKE语言叫Pig Latin,该语言的编译器会把类SQL的数据分析请求转换为一系列经过优化处理的MapReduce运算。Pig为复杂的海量数据并行计算提供了一个简单的操作和编程接口。

Pig的实现有5个主要的部分构成: 如图所示:

1.Pig自己实现的一套框架对输入、输出的人机交互部分的实现,就是Pig Latin 。
2.Zebra是Pig与HDFS/Hadoop的中间层、Zebra是MapReduce作业编写的客户端,Zerbra用结构化的语言实现了对hadoop物理存储元数据的管理也是对Hadoop的数据抽象层,在Zebra中有2个核心的类 TableStore(写)/TableLoad(读)对Hadoop上的数据进行操作。
3.Pig中的Streaming主要分为4个组件: 1. Pig Latin 2. 逻辑层(Logical Layer) 3. 物理层(Physical Layer) 4. Streaming具体实现(Implementation),Streaming会创建一个Map/Reduce作业,并把它发送给合适的集群,同时监视这个作业的在集群环境中的整个执行过程。 
4.MapReduce在每台机器上进行分布式计算的框架(算法)。
5.HDFS最终存储数据的部分。

收录时间:2011-05-31 14:04:04

更多Apache Pig信息

  Java分布式系统 Apache River 
Apache River是一个推动Jini技术发展和进步的开源项目。

Jini 是以 Java 技术为核心的分布式系统,它通过使用一个简易的"即插即用"模型,能够随时改变硬件或者软件的配置,从而提供了一个支持快速配置的分布式计算环境。Jini 的迷人之处在于它能够使各种数字设备无需配置、安装或者人工干预,就能够在一个临时的称为服务联盟(federations of services)的设备集合中共同工作。联盟中的任何设备无论大小都可以自行管理,共同组成一个服务网络,联盟中的每一个成员都可以为其它成员提供资源或服务,同时又可以从其它成员那里获取自己所需的资源和服务,Jini 提供一套完善的机制使得硬件设备或者软件组件能够随时加入或者退出联盟。

Jini 是一个主动的、响应式的分布式基础结构,它提供了在分布式环境中进行服务的建立、查找、通讯和调用的一整套机制。Jini 技术被设计成可以运用在任何有能力连入网络的器件上,而不论该器件运行什么软件或运行在哪种硬件设备之上。Jini 技术是以网络器件中的一个构件的面貌出现的,它为器件如何连入网络、共享信息和与网络进行互操作建立了一套规则,而同时又保持了对用户的完全透明。Jini 本身与平台无关,采用它的器件不再受到所用软件、处理器、设备驱动器,或传统网络协议的制约,其唯一要求只是一个能够运行 Java 字节码的虚拟机。

可以这么理解:JINI是由Java技术构建的,在分布式环境中动态共享资源的一种编程模型。

收录时间:2011-07-27 10:25:01

更多Java分布式系统 Apache River信息

  Commons Compress 
Commons Compress提供了一组API用于操作(解压/压缩)ar、cpio、tar、zip、gzip和bzip2等格式的文件。
ZipArchiveEntry entry = new ZipArchiveEntry(name); entry.setSize(size); zipOutput.putArchiveEntry(entry); zipOutput.write(contentOfEntry); zipOutput.closeArchiveEntry();
收录时间:2011-08-01 20:29:09

更多Commons Compress信息

转载于:https://www.cnblogs.com/nyist2007/p/4599383.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值