美文网首页java高级开发群青春校园开发技巧
2019年排名Top100的Java类库—在分析了30073份源

2019年排名Top100的Java类库—在分析了30073份源

作者: Java技术剑 | 来源:发表于2020-01-13 15:17 被阅读0次

    最近,OveOps公布了《The 2019 edition of the Top 100 Java packages from GitHub》,作者查看了这份榜单,做了翻译和补充,向你展示2019年的风云Java类库,希望可以给正在使用Java的你一些帮助和启示。不能说榜单中的类库都是最好的,但是至少是目前比较受欢迎的。

    距离Java首发以来已经有25年了,它仍然是最流行的编程语言(根据2019年10月TIOBE编程语言排行榜)。

    Java存在了很多年,但是并不意味着他不再实用了,很多年来,Java一直在适应开发人员的需求做很多改变。就在今年,Oracle同时发布了Java 12和Java 13,为该语言增加了更多的特性和能力。

    正如Java本身的变化一样,Java语言相关的类库也在做着各种变化。今年的Java类库排行榜恰恰证明了这一点。言归正传,是时候深入研究一下2019年最热门的Java类库了。

    最受欢迎的前10个Java类库

    今年的Java类库排行榜的榜首被hadoop摘得,这个去年第二的类库,今年终于被扶正了。

    Apache Hadoop,是一款支持数据密集型分布式应用程序并以Apache 2.0许可协议发布的开源软件框架。它支持在商品硬件构建的大型集群上运行的应用程序。Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算。

    今年的第二名是一个新星——Apache Camel,Apache Camel是一个基于规则路由和中介引擎,提供企业集成模式的Java对象的实现,通过应用程序接口来配置路由和中介的规则。

    而去年的第一名fasterXML/Jackson今年降到了第十名。

    Jackson是一个JSON库,可以方便的将JSON转化成Java的对象模型,以及把Java的对象模型转换成一串JSON。

    前100类库透露出的主要信息

    JUnit的衰落。对我们来说,今年最大的意外是JUnit的衰落。尽管它在2018年并不是第一名,我们也没料到它会从第三名一路跌到第33名。

    Apache的崛起。正如您所看到的,今年的列表中有一些有趣的新名称,其中最引人注目的是Apache。免费、开源和跨平台的软件占据了前5名的位置,包括它的Hadoop包、集成框架Camel、Commons compression API、以内存为中心的分布式数据库Ignite和HTTP包。

    企业单点登录。前10名中有一个新名字:Apereo。该包提供了一个用于在企业中实现SSO解决方案的开源项目。正如我们所知,在内部实现SSO解决方案可能比较困难,所以这个开源框架被广泛使用。

    榜单中出现了更多新名字。Apereo并不是我们今年看到的唯一一个新名字,有一长串的包已经进入我们的顶级Java列表,比如:

    不可能有赢家而没有输家,这使得在我们的榜单中,排名靠后的包和靠前的包一样重要。我们决定把重点放在那些从2018年跌至2019年榜单底部的类库身上。这些包括:


    那些贡献较大的组织

    为了深入了解我们的顶级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。

    分析方法

    就像去年一样,我们使用谷歌BigQuery和GitHub的API来获取我们想要的数字。我们提取了顶级的存储库,并从中提取了这些存储库使用的Java包。

    BigQuery 是 Google 专门面向数据分析需求设计的一种全面托管的 PB 级低成本企业数据仓库。该服务让开发者可以使用Google的架构来运行SQL语句对超级大的数据库进行操作。BigQuery 可在几秒内扫描 1 TB 的数据,在几分钟内扫描 1 PB 的数据。

    从GitHub中提取的30,073个Java源文件中,我们过滤掉了Android、Arduino、重复和废弃的repos。获得每个项目的源文件后,我们提取惟一的import语句,确保每个项目只计算一次。最后一步是再次检查结果,确保没有Android、Arduino、deprecated或标准的Java包,然后导出最终的数字进行处理。

    相关文章

      网友评论

        本文标题:2019年排名Top100的Java类库—在分析了30073份源

        本文链接:https://www.haomeiwen.com/subject/kttnactx.html