2017年排名 Top 100 的 Java 类库—在分析了 259,885 份源码之后得出的结论

2017年最受欢迎的Java类库中,JUnit连续三年蝉联榜首,Mockito和slf4j紧随其后。此外,Google Guava、Jackson等类库也榜上有名。通过对排名前列的类库分析,可以看出测试类库的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        一年的时间就这么匆匆过去了,就好像像我们昨天才刚刚从GitHub上分析了2016年的Top Java类库一样。
        今年,我们在数据检索方面采用了Google的BigQuery,来得到更精确的结果。
        首先,我们按照star数排名,从GitHub上拉取了前1000份Java代码仓库,然后过滤掉Android项目,剩下477个纯Java项目。
        我们基于这477个纯Java项目进行了分析。我们去重之后统计了所有的类库的import。更深入的关于统计方法的介绍在文章底部。

        废话不多说,让我们来看看2017年最受欢迎的Java类库都有哪些?今年又是谁稳坐第一的宝座。

       最受欢迎的前20个Java类库


    和去年一样,排名第一的类库,依旧是JUnit。基于它扩展的 JUnit Runner 占据第二名的位置,甚至是较旧的 junit.framework 此次也在第三名的位置。也就是说JUnit包揽了前三甲。

    Mockito,这个开源的mock测试框架排名第四。

译者注:Mockito 是一个强大的用于 Java 开发的模拟测试框架, 通过 Mockito 我们可以创建和配置 Mock 对象, 进而简化有外部依赖的类的测试.

        Java中的日志组建 slf4j 位列第五。这从某个侧面体现出目前的开发人员对日志还是比较情有独钟的。
同时也看得出Java开发人员对于 java.util.logging 库的使用率较低。我们也曾经分析过Java开发者使用日志的一些习惯和偏好。整理在eBook中。

    Hamcrest类库排名的上升,说明了开发人员确实是需要更好的测试环境。

译者注:Hamcrest是一个协助编写用Java语言进行软件测试的框架。它支持创建自定义的断言匹配器(assertion matchers)(名称“Hamcrest”即为“matchers”的异位构词),允许声明式定义匹配规则。这些匹配器在单元测试框架(例如JUnit和jMock)中有用。

        分析排名在前几名的类库我们发现,测试对于写出更好的代码是十分重要的。这也就说明了一个事实,出现线上问题是开发者最不想看到的,所以我们会想尽一切办法去避免他的发生。

        Google的Guava类库排名第 7。 最受欢迎的JSON类库是Jackson 。 榜单第20名,是一个新晋类库:org.w3c.dom 。它提供了一系列操作DOM的接口。

        其他值得我们注意的类库

        纵观前100名,我们发现Spring 有很好的表现。以下8个类库进入前100 :


        除了Spring之外,Apache的类库也有广泛的应用:

译者注:看到apache类库有这么好的表现,笔者比较开心。笔者一直崇尚不要重复制造轮子,

我们日常开发中可能用到的一些方法在apache的类库中具有最佳实现。比如处理IO流、处理集合等。

        在今年的排名中,AssertJ较去年有明显的提升,它为 Java 提供了流式断言(Fluent assertions)。今年它攀升至 50 名。
        我们在榜单中也发现了 javax.和 org.apache.http.client.utils这两个脚本API。

脚本API供那些希望在其 Java 应用程序中执行用脚本语言编写的程序的应用程序编程人员使用。

最后的一点想法
        一个主要的结论是:那些2016年受欢迎的类库,在2017年依旧受欢迎。这也说明,这些类库背后的开发者、团队或者公司都在努力的使这些类库更好。
        这也意味着,如果你打算开始写自己的Java项目,或者日常的开发中,我们的电子表格可以提供一些好的建议。这些排名靠前的类库是不错的选择。

附录:Top 100 Java Libraries






DIY-Page网站构建系统(软着登字2006SR00158)创始于20052月,经过长时间的不断开发和持续创新,现已成为业内独树一帜的网站构建系统。她曾囊括国内多项青少科技创新大奖,被多家知名媒体报道,并为国内主流程序下载站所收录,拥有一批不断成长的忠实用户。 DIY-Page站群系统 8.3 Build 885 主要更新: 采集中心 新增 [新建定向采集] 免规则采集任意网址上的文章 可选择采入自带CMS或DZ/DZX/DZX2/PW/WP/织梦/帝国 采集源 增加 词语级纯原创生成的功能(中文词库data/cnmaker,英文data/enmaker)支持随机生成附件图片(图片库data/makerpic) 采集中心 新建关键词 可选择采入自带CMS或DZ/DZX/DZX2/PW/WP/织梦/帝国 论坛读取模块增加对DZ X2的支持 修正论坛读取模块 内容页 DZX2下读取图片附件的问题 重写域名验证机制,有效解决官网故障对用户网站可能造成的影响 设置中心 采集选项 增加后台采集跳转间隔功能,有效解决空间限制频繁采集 设置中心 采集选项 增加前台自动采集时间间隔功能,有效解决大流量网站自动采集CPU占用 设置中心 采集选项 增加自动采集密码功能,凭密码可以突破采集时段等任何自动采集限制,方便新站刷采集 设置中心 采集选项 增加生成顶踩数、生成评论功能(评论库data/comment.txt),使采集出的文章看起来更真实 设置中心 采集选项 增加插入随机字串的最大次数设置,可以实现随机字串每篇文章只插入1次了 站群管理 子站的几个主要操作 将图片改为文字链接,更易操作 解决CMS列表对象,显示的分类详细简介可能带用HTML代码的问题(比如b标签) 去掉默认标题附加字_diypage.com,默认标题附加字为空了 解决无法编辑子站基本设置的问题(提示子站代号重复) 新建或编辑 普通规则 增加 可选 下一步并测试采集 修正部分用户出现的一直提示“文章与数据库中的重复”的问题 防止英文Yahoo智能文摘采集源采回错误提示页面 细节改进、BUG修补比较多,没有完全列出 环境要求: * 主流的WWW服务器,如Apache、Nginx、IIS等 * PHP 4.3.0 及以上 * MySQL 3.23 及以上 安装说明: * 下载DiY-Page安装包,将upload目录下的内容上传至网站服务器。请勿上传upload目录本身,只上传其中的内容。 * 如非Windows服务器,请设置如下目录/文件的属性为777  * config.php  * up目录本身  * temp目录本身  * data目录本身、目录中的所有文件  * tpl目录本身、其中的子目录、子目录下所有.htm文件 * 在浏览器中访问 http://(您安装程序的网址)/install,运行安装程序,按提示操作即可 * 安装完毕后,建议您删除服务器上的install目录 * 安装完毕后,您可以将后台入口admin.php改名,确保安全
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值