【编者按】本文作者为 Henn Idan,主要介绍基于 GitHub 中的数据分析,得出的2016年度最受欢迎的100个 Java 库。本文系国内 ITOM 管理平台 OneAPM 编译呈现。
谁拔得头筹?谁又落于人后?我们分析了 GitHub 中 47,251 条依赖关系,得出最受欢迎的100个 Java 库。
漫长的周末里,我们最喜欢的消遣方式是遍历 GitHub,找出最受欢迎的 Java 库。我们决定,将其中的乐趣与所得分享给大家。
我们分析了 GitHub 中前3862个 Java 项目里用到的12059个不同 Java 库的47251条导入声明。从该列表中,我们选取了排名前100的 Java 库,并将结果在此呈现。
最受欢迎的20个 Java 库
连续两年,junit 二度成为 GitHub 中最受欢迎的 Java 库。与此同时,Java 日志记录 API slf4j 获得第二名,log4j 排名第四。
此外,谷歌的开源项目 Guava 来势汹汹,勇夺第三名,该库包含了一系列谷歌内含的核心 Java 库。如果你对 Guava 不甚了解或者不确定如何使用,你应该读一下我们的文章,了解一下谷歌 Guava 鲜为人知但其实每个开发者都应该知道的特性。
Spring 库的崛起
作为 Java EE 的首要竞争者,Spring 框架日渐流行,其受欢迎程序也反映在 GitHub 中。在本次最受欢迎的100个 Java 库中,44个库与 Spring 相关。其中,最有意思的是 Spring Boot 的疾速增长,该库能帮助开发者通过最精简的引用打造以 Spring 为驱动的应用及服务。你想在最短的时间内打造能适应生产环境的 Java 应用么?请阅读我们的文章:Java 引导程序:Dropwizard 对比 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——该库用于同 HMTL 协作。它提供了通过 DOM 操作、CSS 以及类 jquery 方法以抽取并操纵数据的 API。
第92名:io.netty.netty-all——用于快速、简便地部署可维护的高性能协议服务器以及客户端的网络应用框架。
第98名:dom4j.dom4j——用于处理 XML 的开源框架。与 XPath 集成,提供了对 DOM、JAXP 以及 Java 平台的全面支持。
按类型排序的100个 Java 库
排名计算方式
你很可能会疑惑,我们是如何得到该排序的。首先,我们根据评分抽取出 GitHub 中排名靠前的 Java 项目。之后,抽取使用 Maven 或 Ivy 进行依赖管理的项目,快速地得到它们的 pom.xml / ivy.xml 依赖。至此,我们得到 47,251 个数据点。
接下来,经过一些整合与分析,我们得到来自前3862个 Java 项目的12059个不同的 Java 库。由此,根据这些库在 GitHub 中出现的次数,不难得到最受欢迎的100个库。
如果你想查看我们的原始数据,可以在此处查看文件。尽管我们努力保持严谨以防止出现疏忽,你也可以看看这些数据,说不定会有新的有趣见解。
文末反思
当我们将今年的前100名数据与去年的相对比时,我们发现小的 Java 库有一些名次变动,其中 Spring 相关库的排名总体升高,而人们对 MongoDB 相关库的兴趣有所下降。
然而,对于绝大多数 Java 开发者而已,他们对自己选择的 GitHub 库,都保持相当的忠诚度。考虑到现有的使用这些库的项目数量,我们有理由相信这些库在2017年甚至更久的以后都会广受欢迎。
如果你已经选好了自己用的库,但仍然在寻找终极工具,我们为你提供了最佳的建议。点此查看《版本升级之后 Java 开发者最喜欢的15款工具》。
OneAPM 能为您提供端到端的 Java 应用性能解决方案,我们支持所有常见的 Java 框架及应用服务器,助您快速发现系统瓶颈,定位异常根本原因。分钟级部署,即刻体验,Java 监控从来没有如此简单。想阅读更多技术文章,请访问 OneAPM 官方技术博客。
本文转自 OneAPM 官方博客
原文地址:https://dzone.com/articles/the-top-100-java-libraries-in-2016-after-analyzing
相关推荐
2016年度网站运维报告.pdf2016年度网站运维报告.pdf2016年度网站运维报告.pdf2016年度网站运维报告.pdf2016年度网站运维报告.pdf2016年度网站运维报告.pdf2016年度网站运维报告.pdf2016年度网站运维报告.pdf
【艾瑞】 2016年度数据发布集合报告-互联网金融.pdf
亮亮图文-—2016年度工作报告总结-07
【标题】和【描述】提及的是2016年度女性经济APP排行榜,这是一份针对女性用户使用习惯和消费特点的分析报告。该报告揭示了女性经济在移动应用市场中的重要性,以及如何通过理解女性消费者的需求来优化APP设计和营销...
按照《普通高等学校本科专业设置管理规定》(教高﹝2012﹞9号)的要求,我部组织开展了2016年度普通高等学校本科专业设置工作,经申报、公示、审核等程序,对各地各高校向我部正式申请备案的专业予以备案;...
2016年度ENVI培训资料详细介绍了ENVI软件的基本概念和遥感图像处理的相关知识。培训内容覆盖了从ENVI的基本操作到高分一号、MODIS等不同遥感数据源的特定处理流程,再到生态环境监测、城市绿地信息提取、植被覆盖度...
《2016年度中国主要城市公共交通大数据分析报告》利用高德地图的海量出行数据,对中国的公共交通系统进行了深入的分析,为我们展示了一个立体化的中国城市公共交通面貌。 首先,报告从公共汽电车网络的角度,对城市...
SANGFOR_AC_v11.0_2016年度渠道初级认证培训02_基础知识.ppt
2016年度运维服务指标规划.pdf2016年度运维服务指标规划.pdf2016年度运维服务指标规划.pdf2016年度运维服务指标规划.pdf2016年度运维服务指标规划.pdf2016年度运维服务指标规划.pdf2016年度运维服务指标规划.pdf2016...
2016年度工作总结暨2017年度工作计划编写要求: 1、总结2016年度的主要工作内容及完成情况,请列举说明并尽量以数据形式表现; 2、分析个人在工作中存在的不足及改进措施; 3、列举工作中遇到的问题及希望得到哪些...
本文旨在详细解读一款荣获年度最受欢迎五笔输入法软件的特色及使用方法,帮助更多喜欢用五笔的朋友能够高效地完成文档输入任务。 五笔输入法的设计初衷在于将汉字的书写结构抽象为编码,从而形成一套标准化的输入...
标题中的“6个Java程序员的年度总结-精”意味着这是一份包含六个Java程序员在过去一年中关于编程工作、学习和成长的总结性文档。这些程序员可能是来自不同背景、经验水平和项目领域的专家,他们分享了他们的知识、...
2016年度信访工作计划
【React开发-其他杂项】:在这个项目中,“react-Acopyof豆瓣2016年度电影榜单”显然是一个使用React框架构建的应用程序,用于展示2016年豆瓣电影的年度榜单。React是由Facebook开发的一个JavaScript库,专门用于...
2016年度税务工作总结.doc
2016年度船舶消防演练.doc
盘点2016年度规划热点.pdf
cscd(2015-2016年度),包括期刊名称、ISSN、备注
基于高德地图的数据,对2016年中国主要城市交通状况进行分析。