前言

翻译自programcreek

典型的Java项目通常会依赖一些第三方库,本文总结了一些最受欢迎的Java库,这些类库在各种应用程序中被广泛使用;

当然,Java SDK是最广泛使用的Java库,这个不用多说,本文的关注点是第三方库;

这份清单可能不是很完美,如果你觉得有些类库也应该被列举出来,那么请留下你的评论。

Core核心库

  • Apache Commons Lang - 这是Apache的一个库,提供了许多辅助工具,如字符串处理,对象创建等,是对java.lang API的补充;
  • Google Guava - 谷歌的核心类库,用于实现集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support]等;

HTML, XML解析

  • Jsoup - 可以非常方便的处理HTML内容;
  • STaX - 用于解析XML文档;

Web框架

  • Spring - Java平台下的一个开源框架和IOC容器;
  • Struts 2 - Apach中最受欢迎的web框架;
  • Google Web Toolkit - 来自Google的开源Java软件开发框架,用于构建和优化基于浏览器的复杂应用程序;
  • Strips - 一个表现层框架框架,使用最新Java技术构建Web程序;
  • Tapestry - 面向组件的框架,用于创建动态、健壮、扩展性高的Web应用程序。

图标,报表,图形

  • JFreeChart -用于创建条形图,曲线图,饼图等;
  • JFreeReport -创建PDF报表;
  • JGraphT - 创建图形,包含由边连接的点集;

窗口库

  • Swing - JDK中的图形界面库;
  • SWT - 来自Eclipse的图形界面库;

GUI框架

  • Eclipse RCP - 提供了标准化的组件模型,包括菜单,工具栏等;

自然语言处理

  • OpenNLP - Apache提供的自然语言处理库;
  • Stanford Parser - 斯坦福大学提供的自然语言处理库;

静态分析

  • Eclipse JDT - 来自IBM的库,可以操纵Java源代码;
  • WALA - 可以处理Jar文件的库;

JSON

  • Jackson - 一个多用途的Java库,用于处理JSON格式数据。
  • XStream - 一个简单的库,用于将java对象序列化为XML并支持反序列化;
  • Google Gson - 可将Java对象转成json字符串,也可以将json字符串转成java对象;
  • JSON-lib - 用于 beans、maps、collections、java arrays、XML 和 JSON 之间相互转换;

数学

  • Apache Commons Math - 提供一些数学和统计相关的函数。

日志

  • Apache Log4j - 最受欢迎的日志库;
  • Logback - Log4j的继承者;
  • SLF4J(The Simple Logging Facade for Java) - 各种日志框架的一个简单的外观或抽象(如java.util.logging 、logback、log4j等),允许用户在部署时加入需要的日志框架。

Office相关

  • Apache POI - 使用纯Java操作各种基于微软OLE2合成文档格式的文档。
  • Docx4j - 一个Java库,用于创建、操作微软公开的XML文件(支持Word docx、 Powerpoint pptx和Excel xlsx)。

日期和时间

  • Joda-Time - 高质量的日期和时间处理类库;

数据库

  • Hibernate / EclipseLink / JPA
  • JDO
  • jOOQ
  • SpringJDBC / Spring Data
  • Apache DbUtils

开发工具

  • Lombok - 一个用于简化java代码编写的库;

译文链接:http://www.programcreek.com/2011/08/the-most-widely-used-java-apis/

最受欢迎的Java第三方库的更多相关文章

  1. java 第三方库

    转载自http://www.cnblogs.com/lucus-jia/p/3483511.html java 第三方库   总结一下常用的java第三方库,方便查询和使用,欢迎补充. 1.核心库 A ...

  2. JAVA程序员一定知道的优秀第三方库(2016版)

    几乎每个程序员都知道要“避免重复发明轮子”的道理——尽可能使用那些优秀的第三方框架或库,但当真正进入开发时,我却经常发现他们有时并不知道那些轮子在哪里.最近,我在业余时间带几个年轻的程序员一起做了一个 ...

  3. [转]JAVA程序员一定知道的优秀第三方库(2016版)

    原文地址:http://blog.csdn.net/zxc123e/article/details/51418163 几乎每个程序员都知道要“避免重复发明轮子”的道理——尽可能使用那些优秀的第三方框架 ...

  4. GitHub上那些值得一试的JAVA开源库--转

    原文地址:http://www.jianshu.com/p/ad40e6dd3789 作为一名程序员,你几乎每天都会使用到GitHub上的那些著名Java第三方库,比如Apache Commons,S ...

  5. GitHub上那些值得一试的JAVA开源库

    作为一名程序员,你几乎每天都会使用到GitHub上的那些著名Java第三方库,比如Apache Commons,Spring,Hibernate等等.除了这些,你可能还会fork或Star一些其他的开 ...

  6. Java第三方工具库/包汇总

    一.科学计算或矩阵运算库 科学计算包: JMathLib是一个用于计算复杂数学表达式并能够图形化显示计算结果的Java开源类库.它是Matlab.Octave.FreeMat.Scilab的一个克隆, ...

  7. 使用java以及jdbc不使用第三方库执行sql文件脚本

    使用java以及jdbc不使用第三方库执行sql文件脚本 2017年02月15日 15:51:45 阅读数:660 使用java执行sql脚本的方法 解析sql脚本,删除不必要的注释和空行 将语句按分 ...

  8. 一个千万量级的APP使用的一些第三方库

    转载:http://www.jianshu.com/p/dc8c05cf693d .背景 前段时间在调研第三方推送服务的时候,反编译了一部分市面上比较流行的APP.其中一个无论是在设计还是功能上都堪称 ...

  9. 常用iOS第三方库以及XCode插件介绍

    第三方库 CocoaPod CocoaPod并不是iOS上的第三方库 而是大名鼎鼎的第三方库的管理工具 在CocoaPod没有出现之前 第三方库的管理是非常痛苦的 尤其是一些大型的库(比如nimbus ...

随机推荐

  1. 介绍开源的.net通信框架NetworkComms框架 源码分析(九) IPConnection

    原文网址: http://www.cnblogs.com/csdev Networkcomms 是一款C# 语言编写的TCP/UDP通信框架  作者是英国人  以前是收费的 目前作者已经开源  许可是 ...

  2. iOS高效开发之Xcode应用插件

    前言:本文非原创 文章摘自 www.cocoachina.com/industry/20130918/7022.html    古人云“工欲善其事必先利其器”,打造一个强大的开发环境,是立即提升自身战 ...

  3. App单个页面的最佳文本框个数是多少个?

    [1].不同大小的手机屏幕,对应的App每页最佳文本框个数,是不同的. [1.1]如果是iPhone4的屏幕尺寸,分辨率为640x960px的时候, 文本框个数最大值为:2个文本框 [计算公式] 第 ...

  4. How Will Java Technology Change My Life?

    How Will Java Technology Change My Life? We can't promise you fame, fortune, or even a job if you le ...

  5. CRC编码

    一.循环冗余码校验英文名称为Cyclical Redundancy Check,简称CRC. 它是利用除法及余数的原理来作错误侦测(Error Detecting)的.实际应用时,发送装置计算出CRC ...

  6. Scalaz(34)- Free :算法-Interpretation

    我们说过自由数据结构(free structures)是表达数据类型的最简单结构.List[A]是个数据结构,它是生成A类型Monoid的最简单结构,因为我们可以用List的状态cons和Nil来分别 ...

  7. Scalaz(2)- 基础篇:随意多态-typeclass, ad-hoc polymorphism

    scalaz功能基本上由以下三部分组成: 1.新的数据类型,如:Validation, NonEmptyList ... 2.标准scala类型的延伸类型,如:OptionOps, ListOps . ...

  8. Linux命令详解之—more命令

    Linux more命令同cat命令一样,多用来查看文件内容,本文就为大家介绍下Linux more命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux的more命令类似 ca ...

  9. Guava学习笔记:复写的Object常用方法

    在Java中Object类是所有类的父类,其中有几个需要override的方法比如equals,hashCode和toString等方法.每次写这几个方法都要做很多重复性的判断, 很多类库提供了覆写这 ...

  10. 【FFmpeg】Windows下FFmpeg编译

    由于FFmpeg是基于Linux开发的开源项目,源代码和Windows下最常见的Visual Studio提供的C/C++编译器不兼容,因此它不能使用MSVC++编译,需要在Windows下配置一个类 ...