2016年100大Java库

译文
开发 后端
谁拔得头筹?谁又落在后面?我们分析了 GitHub上的 47251个依赖项,得出了100大 Java库榜单。

【51CTO.com快译】我们在漫长周末最喜欢的消遣方式就是搜遍GitHub,找出广受欢迎的Java库。我们决定与各位分享其中的乐趣和信息。

我们分析了GitHub上前3862个Java项目所使用12059个独特的Java库的47251个导入语句。我们从该列表中选取了100大 Java库,现在我们分享结果。

***的20个Java库

junit连续两年成为GitHub上***的Java库。Java 日志API:slf4j 名列第二,log4j则名列第四。

谷歌的开源项目Guava发展势头正猛,夺得第三名。它包含一系列在谷歌内部诞生的核心Java库。如果你对Guava不熟悉,或者不确定如何使用它,不妨读一读我们的文章,了解每个开发人员都应该知道的谷歌Guava的鲜为人知的功能特性(http://blog.takipi.com/google-guava-5-things-you-never-knew-it-can-do/)。

Spring库的崛起

作为Java EE的主要竞争者,Spring框架日渐流行,这种很高的人气在GitHub中也得到了体现。在100个***的Java库中,15个库与Spring有关。其中最值得关注的是,Spring Boot迅速崛起。它让开发人员借助最少的样板代码就能构建Spring驱动的应用程序和服务。你想在最短的时间内构建一个生产环境就绪的Java应用程序吗?请阅读这篇文章:《JavaBootstrap:Dropwizard 对比 Spring Boot》(http://blog.takipi.com/java-bootstrap-dropwizard-vs-spring-boot/)。

***的Spring库:

第13名 – springframework.spring-context

第17名 – springframework.spring-test

第22名 – springframework.spring-webmvc

第24名 – springframework.spring-core

第27名 – springframework.spring-web

第36名 – springframework.spring-jdbc

第37名 – springframework.spring-orm

第38名 – springframework.spring-tx

第40名 – springframework.spring-aop

第47名 – springframework.spring-context-support

第72名 – springframework.boot.spring-boot-starter-web

第81名 – springframework.security.spring-security-web

第82名 – springframework.security.spring-security-config

第88名 – springframework.boot.spring-boot-starter-test

第99名 – springframework.security.spring-security-core

***的JSON库

由于Java对 JSON并不提供原生支持(不过差不多在Java 9中包括该支持!),我们想看看这些库在GitHub项目中有多受欢迎。

你不该凭表面来判断库。并非所有的JSON库都有一样的性能,选择适合自身环境的库非常重要。如果你想知道该使用哪一个JSON库,不妨看看我们***的JSON基准测试。

***的JSON库是:

第14名 – fasterxml.jackson.core.jackson-databind

第19名 – google.code.gson.gson

第43名 – json.json

第80名 – googlecode.json-simple.json-simple

第89名 – thoughtworks.xstream.xstream

最惊艳的4个库

有许多值得关注、甚至新颖的库引起了我们的注意,不过我们决定着重介绍这4个库:

第68名:projectlombok.lombok――该项目旨在减少Java中的样板代码,把一些最糟糕的代码换成一组简单的标注。

第90名:jsoup.jsoup――该Java库用于处理实际的HMTL。它提供了一个API,可用于使用DOM操作、CSS 和类似jquery的方法来抽取和处理数据。

第92名:io.netty.netty-all――这个网络应用程序框架用于快速、简单地开发可维护的高性能协议服务器和客户机。

第98名:dom4j.dom4j――这是用于处理 XML的开源框架。它与XPath集成起来,对DOM、JAXP和Java平台提供全面支持。

按类型排名的100大库

魔法背后的数学

你可能会发问:我们是如何得到这些信息的。我们首先按照评分,从GitHub选出了排名靠前的Java项目。然后我们从中选出使用Maven或Ivy进行依赖项管理、以便迅速访问pom.xml / ivy.xml依赖项的项目,因此我们获得了47251个数据点。

我们进行了一番计算和分析,结果得出了Github上前3862个项目使用的12059个独特的Java库。在此基础上,根据它们在 GitHub中出现的次数,就很容易评出***的100个库。

如果你想查看我们的原始数据,可以在此查阅文件(https://docs.google.com/spreadsheets/d/19hO0L9WOC0XWXPnYX-216_Qbz705ajIAsSQFhGmgp9A/edit?usp=sharing)。虽然我们很认真,但还是欢迎各位查看数据,确保我们没有遗漏任何有意思的内容。

结束语

我们将今年的100大Java库榜单与去年的结果相比较时,发现比较小的Java库当中出现了名次上的一些变动,Spring受到追捧,而MongoDB跌出了榜单。

然而,如果看一下绝大多数的Java开发人员,就会发现他们在选择GitHub库方面显得相当一致。考虑到使用这些库的众多现有项目会在2017年及以后继续使用它们,这不足为奇。

如果你已经有了***的库,但是仍在寻找***工具,我们为你提供了***建议。可以查看《Java开发人员在主要版本发布后使用的15大工具》(http://blog.takipi.com/15-tools-to-use-when-deploying-code-to-production/)。

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

责任编辑:赵立京 来源: 51CTO
相关推荐

2016-04-29 10:01:05

NFV网络功能虚拟化

2015-12-11 15:54:23

BYOD自带设备

2016-02-01 15:32:03

HadoopCloudera

2016-01-08 10:47:53

Web设计趋势

2017-03-08 15:08:16

开源开源项目

2017-01-16 13:13:51

DevOps开发工具

2012-08-08 09:38:57

WLAN

2015-12-17 13:22:17

2016-12-30 17:25:09

SDNNFV网络

2016-08-03 14:30:05

2017-01-04 12:23:08

大数据机器学习数据科学

2015-12-22 10:05:29

2016-01-18 10:17:19

RFID2016物联网

2015-12-24 10:11:36

2016-11-14 15:40:06

2016-01-07 10:07:53

2016大数据形势

2015-12-30 10:19:17

2016-11-18 12:08:53

2016-02-17 10:32:09

2016-10-31 08:46:24

Java框架Java
点赞
收藏

51CTO技术栈公众号