(点击上方的蓝色文字,可快速关注我们)

写在前面

本文作者为 Henn Idan,主要介绍基于 GitHub 中的数据分析,得出的2016年度最受欢迎的100个 Java 库。

谁拔得头筹?谁又落于人后?我们分析了 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——该库用于同 HTML 协作。它提供了通过 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款工具》。

本文系国内ITOM  管理平台 OneAPM编译呈现。


  • 欢迎关注“互联网架构师”,我们分享最有价值的互联网技术干货文章,助力您成为有思想的全栈架构师,只聊架构,不聊其他!打造最有价值的架构师圈子和社区。

  • 长按下方的二维码可以快速关注我们

  • 如想加群讨论学习,请点击右下角的“加群学习”菜单入群

2016年度最受欢迎的100个Java库相关推荐

  1. 2016年度最受欢迎的100个 Java 库

    [编者按]本文作者为 Henn Idan,主要介绍基于 GitHub 中的数据分析,得出的2016年度最受欢迎的100个 Java 库.本文系国内 ITOM 管理平台 OneAPM 编译呈现. 谁拔得 ...

  2. 【喜报】2016 年度最受欢迎中国开源软件TOP20出炉——JEECG、JEEWX双入围!

    2017年伊始,捷报开年--由开源中国主办,博文视点协办的 "2016 年度最受欢迎中国开源软件评选" 已经落下帷幕,投票结果新鲜出炉! 在各位JEECG社区开源爱好者以及 粉丝的 ...

  3. 2016年度最受欢迎开源项目,JEECG、JEEWX参与投票

    2016年度最受欢迎开源项目,JEECG.JEEWX参与投票 Jeecg 与 Jeewx 项目正在参加 2016年度 最受欢迎中国开源软件评选,请大家投上宝贵的一票,支持jeecg更好的发展,为大家带 ...

  4. 2016年度最受欢迎中国开源软件评选 - 开源中国社区

    2016年度最受欢迎中国开源软件评选 - 开源中国社区 地址:http://www.oschina.net/project/top_cn_2016?sort=1#layui

  5. 2016年度最受欢迎中国开源软件评选,开源中国、博文视点,阿里独占四席

    阿里独占四席 日前,开源中国公布了"2016年度最受欢迎中国开源软件"评选结果.在TOP20榜单里,阿里巴巴竟然独占4席,而百度和腾讯也分别有一款产品入选. 本次阿里巴巴集团旗下入 ...

  6. 在分析了47,251个依赖关系之后,2016年排名前100的Java库

    谁在上面,谁在后面? 我们分析了Github上的47,251个依赖关系,并抽取了前100个Java库 长周末我们最喜欢的消遣是浏览Github并搜索流行的Java库. 我们决定与您分享乐趣和信息. 我 ...

  7. 2016年度最受欢迎中国开源软件评选

    http://www.oschina.net/project/top_cn_2016 1. JFinal  http://www.oschina.net/p/jfinal 2.ECharts  htt ...

  8. 盘点 100 个最受欢迎的 Java 库!绝对经典

    我们分析了 GitHub 中 47,251 条依赖关系,得出最受欢迎的100个 Java 库. 漫长的周末里,我们最喜欢的消遣方式是遍历 GitHub,找出最受欢迎的 Java 库.我们决定,将其中的 ...

  9. 2016 年度码云热门项目排行榜 TOP 50

    原文地址:http://www.oschina.net/news/80909/2016-oschina-git-top-50?from=timeline&isappinstalled=0 阿里 ...

  10. 2016 年度开源中国新增开源软件排行榜 TOP 100

    1.iBase4J:Java 开源框架整合 iBase4J 是基于 Java 的开源框架搭建的分布式系统架构. 使用 Maven 对项目进行模块化管理,提高项目的易开发性.扩展性. 系统包括三个模块: ...

最新文章

  1. 笔画宽度变化(C++和matlab算法)
  2. JavaScript会是Web开发的未来吗?
  3. 安卓操作sqlite3,增删改查
  4. 天池CV学习赛:街景字符识别-思路与上分技巧汇总
  5. 云+X案例展 | 传播类:九州云 SD-WAN 携手上海电信,助力政企客户网络重构 换新颜
  6. android 图片传递,如何使用包在Android活动之间传递图像(位图)?
  7. 三十五岁后,如何自学WEB前端编程
  8. 一起学习C语言:函数(三)
  9. hikari数据源配置类_spring-boot2项目默认hikari数据源的配置
  10. 脉冲耦合神经网络(PCNN)-pulse coupled neural network
  11. linux怎么卸载vsftpd软件,vsftpd配置详解之软件安装和卸载
  12. eclipse查看代码git历史_Eclipse使用教程 : 利用Eclipse中git的插件来查看项目状态 - Break易站...
  13. 杨玲 201771010133《面向对象程序设计(java)》第十三周学习总结
  14. Spark 高难度对话 SQL Server - 续篇
  15. Perl_Tkx_Canvas绘图功能函数介绍
  16. 2022年计算机二级Python考哪些内容?
  17. 网易云热歌榜评论(爬虫项目)
  18. PAR 相控阵方法,阵元间隔原理
  19. Linux sed按行遍历文件内容,并删除匹配成功的行
  20. 相机旋转矩阵求解三个姿态角

热门文章

  1. Spring+SpringMVC+Mybatis 详细配置
  2. Remoting示例
  3. 「leetcode」17.电话号码的字母组合【回溯算法】详解!
  4. 在 Mac 上如何放大或缩小?
  5. 如何向Mac Dictionary App添加其他语言
  6. 如何在Mac的内置词典中添加和删除单词
  7. Android项目总结(3)-登录页图片循环过渡播放动画效果
  8. 安装sphinx的心得和错误处理
  9. sqlite3 小记
  10. shell脚本攻略学习笔记(一)小试牛刀