专栏名称: SegmentFault思否
SegmentFault (www.sf.gg)开发者社区,是中国年轻开发者喜爱的极客社区,我们为开发者提供最纯粹的技术交流和分享平台。
目录
相关文章推荐
程序员小灰  ·  3个令人惊艳的DeepSeek项目,诞生了! ·  17 小时前  
OSC开源社区  ·  宇树王兴兴早年创业分享引围观 ·  2 天前  
程序猿  ·  “我真的受够了Ubuntu!” ·  2 天前  
程序员的那些事  ·  李彦宏自曝开源真相:从骂“智商税”到送出“史 ... ·  4 天前  
51好读  ›  专栏  ›  SegmentFault思否

​2019 年排名 Top 100 的 Java 类库 —— 在分析了 30073 份源码之后得出的结论

SegmentFault思否  · 公众号  · 程序员  · 2020-01-22 10:05

正文


作者 l Hollis

来源 l Hollis(ID: hollischuang)




最近,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 列表,比如:

#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开发RESTful Web服务。它提供对JAX-RS API的支持,并充当JAX-RS参考实现,去年排名#65.

#
81 – org.jboss.netty – 一个非阻塞I/O客户端-服务器框架,主要用于开发Java网络应用程序,如协议服务器和客户端。
异步事件驱动的网络应用程序框架和工具用于简化网络编程, 去年排名#22.


#
85 – org.apache.curator – Apache ZooKeeper的Java库,去年排名#29


#
87 – org.assertj.core –富类型断言库,去年排名 #56 


#
88 – org.xml.sax – Java SAX解析,去年排名#71


#
93 – com.codahale.metrics – 一款监控指标的度量类库,去年排名#42.


#
97 – org.joda.time – 一个标准的日期和时间库,去年排名#44.


#
99 – org.apache.kafka – 一个开源流处理平台,由Scala和Java编写。
该项目的目标是为处理实时数据提供一个统一、高吞吐、低延迟的平台,去年排名#69.








请到「今天看啥」查看全文