2019年Java类库Top100——分析30073个源码后得出的结论展示2019年风云Java类库,希望能给大家在使用Java的过程中带来一些帮助和启发。不能说列表中的类库是最好的,但至少是目前流行的。自Java首次发布至今已有25年,它仍然是最流行的编程语言(根据TIOBE编程语言排名,2019年10月)。Java已经存在多年,但这并不意味着它不再有用。多年来,Java一直在适应开发者的需求,做出很多改变。就在今年,Oracle发布了Java12和Java13,为该语言添加了更多特性和功能。就像Java本身的变化一样,与Java语言相关的类库也在进行各种变化。今年的Java类库排行榜正好证明了这一点。话不多说,是时候深入研究一下2019年最热门的Java类库了。Top10最受欢迎的Java类库今年的Java类库排行榜由hadoop高居榜首,而今年的第二类库终于在今年坐稳了。ApacheHadoop是一个支持数据密集型分布式应用程序的开源软件框架,在Apache2.0许可协议下发布。它支持在基于商用硬件构建的大型集群上运行的应用程序。Hadoop框架的核心设计是:HDFS和MapReduce。HDFS为海量数据提供存储,MapReduce为海量数据提供计算。今年的第二名是一颗新星——ApacheCamel,ApacheCamel是一个基于规则的路由和中介引擎,为企业集成模式提供Java对象的实现,通过应用程序编程接口配置路由和中介规则。去年排名第一的fasterXML/Jackson今年掉到了第10位。Jackson是一个JSON库,可以方便地将JSON转换为Java对象模型,并将Java对象模型转换为JSON字符串。Top100类库透露的主要信息是JUnit的没落。对我们来说,今年最大的惊喜是JUnit的衰落。虽然它在2018年不是第1,但我们没想到它会从第3位一路下滑到第33位。Apache的崛起。如您所见,今年的榜单上出现了一些有趣的新名字,其中最著名的是Apache。免费、开源和跨平台软件占据前5位,包括其Hadoop包、集成框架Camel、Commons压缩API、以内存为中心的分布式数据库Ignite和HTTP包。企业单点登录。前10名中有一个新名称:Apereo。该软件包提供了一个用于在企业中实施SSO解决方案的开源项目。正如我们所知,在内部实施SSO解决方案可能很困难,因此这个开源框架被广泛使用。名单上出现了更多新名字。Apereo并不是我们今年看到的唯一新名称,有一长串的软件包已进入我们的顶级Java列表,例如:#13–org.pentaho–提供数据管理和分析。#16–com.facebook.buck–一个鼓励跨各种平台和语言创建小型可重用模块的系统。#21–com.yahoo.vespa–雅虎的数据处理库。#28–org.killbill.billing–一个开源计费和支付平台。#56–com.baidu.disconf–百度的分布式配置管理平台。没有赢家也没有输家,这使得我们列表底部的包与顶部的包一样重要。我们决定重点关注那些从2018年跌至2019年榜单底部的图书馆。其中包括:#79–org.glassfish.jersey–用于在Java中开发RESTfulWeb服务。它提供对JAX-RSAPI的支持,并作为JAX-RS参考实现,去年排名第65位。#81–org.jboss.netty–一个非阻塞I/O客户端-服务器框架,主要用于开发协议服务器和客户端等Java网络应用程序。用于简化Web编程的异步事件驱动Web应用程序框架和工具,去年排名第22。#85–org.apache.curator–ApacheZooKeeper的Java库,去年排名第29#87–org.assertj.core–丰富类型断言库,去年排名第56#88–org.xml.sax–JavaSAX分析,去年排名#71#93–com.codahale.metrics–一个监测指标的测量库,去年排名#42。#97–org.joda.time–一个标准的日期和时间库,去年排名第44。#99–org.apache.kafka–一个用Scala和Java编写的开源流处理平台。该项目的目标是为处理实时数据提供统一、高吞吐量、低延迟的平台,去年排名第69位。贡献更多的组织为了深入了解我们的顶级Java包,我们逐一查看了每个包,试图了解Java开发人员正在构建什么以及如何构建它们。当我们浏览列表时,有许多供应商/所有者多次出现,为不同的目的提供各种套餐。这就是为什么我们决定更广泛地审视我们的整个数据集,不仅要了解谁是最受欢迎的软件包,还要了解谁是最常用软件包背后的组织、公司甚至个人。其中贡献较多的前10名组织如下:分别是apache、springframework、google、jboss、amazonaws、junit、facebook、yahoo、eclipse、pentaho另外,在前100名的类库中,我们发现有4个类库来自3家中国公司,分别是:百度的com.baidu.disconf(分布式配置管理平台),微信的weixin.popular.bean(微信SDK),com.alibaba.otter(阿里巴巴分布式数据库同步系统)而com.alibaba.jstorm(阿里巴巴流处理框架),排名最高的是阿里巴巴的otter,排名第19。分析方法和去年一样,我们使用GoogleBigQuery和GitHub的API来得到我们想要的数字。我们提取了顶级存储库,并从中提取了这些存储库使用的Java包。BigQuery是Google专为数据分析需求而设计的全托管PB级低成本企业数据仓库。该服务允许开发人员使用谷歌的架构运行SQL语句来操作非常大的数据库。BigQuery可以在几秒内扫描1TB数据,在几分钟内扫描1PB数据。从GitHub提取的30,073个Java源文件中,我们过滤掉了Android、Arduino、重复和废弃的repos。在获取每个项目的源文件后,我们提取唯一的导入语句,确保每个项目只被评估一次。最后一步是仔细检查结果,确保没有Android、Arduino、弃用或标准Java包,然后导出最终数字进行处理。我们筛选了前100个结果,创建了一个新的google电子表格,并写了这篇文章供您欣赏:https://docs.google.com/spreadsheets/d/1QXw5TILFQCBoB0wxhNAoKabRbUm9C6TE3mD260S_gXY/关于作者:Hollis,一对Coding有着独特的追求.目前是阿里巴巴技术专家,个人技术博主,技术文章全网阅读量数千万。他是《程序员的三门课》的合著者。
