谁拔得头筹?谁又落于人后?

我们分析了 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 应用么?请关注公众号互联网架构师回复2T学习系列视频。

最受欢迎的 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 库,都保持相当的忠诚度。考虑到现有的使用这些库的项目数量,我们有理由相信这些库在以后都会广受欢迎

关注微信公众号:互联网架构师,在后台回复:2T,可以获取我整理的教程,都是干货。

猜你喜欢

1、GitHub 标星 3.2w!史上最全技术人员面试手册!FackBoo发起和总结

2、如何才能成为优秀的架构师?

3、从零开始搭建创业公司后台技术栈

4、程序员一般可以从什么平台接私活?

5、37岁程序员被裁,120天没找到工作,无奈去小公司,结果懵了...

6、滴滴业务中台构建实践,首次曝光

7、不认命,从10年流水线工人,到谷歌上班的程序媛,一位湖南妹子的励志故事

8、15张图看懂瞎忙和高效的区别

9、2T架构师学习资料干货分享

权威!盘点 100 个最受欢迎的 Java 库!绝对经典相关推荐

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

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

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

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

  3. github上java项目_GitHub上10,000个最受欢迎的Java项目-以下是他们使用的顶级库

    github上java项目 随着Java开发人员使用既成熟又高度发展的语言来工作,无论何时编写新代码,我们都将面临一个持续的困境–使用大家都在谈论的热门新技术,或者坚持使用久经考验的库? 由于Java ...

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

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

  5. GitHub的10,000个最受欢迎的Java项目-以下是它们使用的顶级库

    随着Java开发人员正在使用既成熟又高度发展的语言来工作,无论何时编写新代码,我们都将面临一个持续的难题–使用大家都在谈论的热门新技术,或者坚持使用久经考验的库? 由于Java应用程序的很大一部分是商 ...

  6. 最受欢迎的Java第三方库

    目录 前言 Core核心库 HTML, XML解析 Web框架 图标,报表,图形 窗口库 GUI框架 自然语言处理 静态分析 JSON 数学 日志 Office相关 日期和时间 数据库 开发工具 前言 ...

  7. 最受欢迎的java技术_最受欢迎的Java环境

    最受欢迎的java技术 该职位将是即将发布的系列文章中的第一篇. 我们从所使用的环境开始:如果您感兴趣的是最受欢迎的JVM供应商或JVM版本,那么32bit是比64bit更流行的体系结构,还是Wind ...

  8. 最受欢迎的Java环境

    该职位将是即将发布的系列文章中的第一篇. 我们从所使用的环境开始:如果您感兴趣的是最受欢迎的JVM供应商或JVM版本,那么32bit是比64bit更流行的体系结构,还是Windows 8比Window ...

  9. java ltp4j_博客 | 收藏 | 100多个DL框架、AI库、ML库、NLP库、CV库汇总,建议收藏!...

    原标题:博客 | 收藏 | 100多个DL框架.AI库.ML库.NLP库.CV库汇总,建议收藏! 本文原载于微信公众号:AI部落联盟(AI_Tribe),AI研习社经授权转载.欢迎关注 AI部落联盟 ...

  10. 从100场腾讯面试中,抽出来经典面试题,腾讯技术职业等级丨C++后端开发丨Linux服务器开发丨面试经验丨面试总结

    从100场腾讯面试中,抽出来经典面试题,腾讯技术职业等级 视频讲解如下,点击观看: 从100场腾讯面试中,抽出来经典面试题,腾讯技术职业等级丨C++后端开发丨Linux服务器开发丨面试经验丨面试总结丨 ...

最新文章

  1. 实用技巧:使用 jQuery 异步加载 JavaScript 脚本
  2. mongodb 启动时的警告问题
  3. SpringCloudConfig整合Nacos
  4. 在SharePoint网站中访问Webservice被拒绝的解决方法
  5. Linux 字符集 en_us,Linux语言环境:en_US.UTF-8 vs en_US
  6. 利用pagespeed插件优化网站css层叠样式文件
  7. 程序员编程艺术第二十六章:基于给定的文档生成倒排索引(含源码下载)
  8. WinPhone 开发(2)-----应用程序栏ApplicationBar
  9. mysql utf8转gbk cmd_修改xampp的mysql数据库utf8mb4为gbk以解决cmd内中文显示为问号
  10. 关于Protel 2004 绘制电路原理图
  11. 给一个函数求导MATLAB,matlab求导
  12. 国际直拨电话号码格式
  13. 采用16线激光雷达和轮式里程计调用cartographer室内融合定位
  14. 关于CDN加速 CDN加速是什么
  15. Roll A Ball
  16. 3.19字节懂车帝一面
  17. MIR7创建预制发票BAPI
  18. 全屏播放PPT时,播放音乐
  19. 软件设计师下午真题及参考答案
  20. excel服务器项目管理软件,用excel做项目管理系统

热门文章

  1. 详解tomcat的连接数与线程池--转载
  2. JAVA 常见的类集之CollectionListQueue
  3. linux /etc/security/limits.conf的相关说明
  4. BGP AS过滤列表
  5. 什么叫网关精解(超经典)
  6. 「leetcode」17.电话号码的字母组合【回溯算法】详解!
  7. Wattagio for Mac(电池管理) 免激活版
  8. Bartender 让Mac选项列不再拥挤
  9. 如何在 Mac 上轻松编辑、批注、签名和标记 PDF?
  10. HyperLedger的共识( Consensus)