《架构师》2020年8月
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

荣誉代码

13、NetBeans和Eclipse IDE。最早进入Java集成开发环境世界的是NetBeans, NetBeans于1996年在布拉格的查尔斯大学(以Xelfi的名义)创立,并于1997年由企业家Roman Staněk创立的同名公司进行商业化。Sun在1999年购买了支持所有Java应用程序类型的模块化IDE,并于次年将其开源。2016年,Oracle将整个Net-Beans项目捐赠给了Apache软件基金会(Apache Software Foundation)。

另一个流行的基于Java的集成开发环境是开源的Eclipse IDE,它不仅可以用于Java编码,还可用于从Ada到Scala的其他语言的编码。Eclipse SDK由IBM于2001年推出,是基于IBM VisualAge的,它是面向Java开发人员的,但是可以通过插件进行扩展。Eclipse IDE于2004年从IBM分离出来并加入Eclipse基金会,它目前仍然是可用的顶级IDE之一。

14、IntelliJ IDEA。IDE有很多,但IntelliJ IDEA在2001年推出后就成为了人们的最爱。如今,IntelliJ IDEA已成为许多IDE的框架,这些IDE适用于Python、Ruby和Go等多种语言。IntelliJ IDEA及其相关的JetBrains IDE套件是使用Java编写的,可以提高许多开发人员所依赖的生产力和导航功能。其中包括代码索引、重构、代码完成(这要早于智能手机上的文本自动完成)以及发现错误的动态分析(类似于拼写检查器)。“IntelliJ IDEA帮助克服了在某个框架下管理和调试基于Java和JVM的复杂应用程序的挑战,”驻英自由软件和数据工程师、Java冠军Mani Sarkar说。“它们让开发人员在使用它们的工具时,感到高效、多产,最重要的是能感到快乐。”

15、Byte Buddy。开源Java库Byte Buddy的创建者,来自奥斯陆(挪威Oslo)的软件工程师Rafael Winterhalter坦承,他的一生(有时令人发狂)专注于小众市场。尽管如此,他的贡献还是大受欢迎:Winterhalter说,用于Hibernate和Mockito等Java工具的Byte Buddy运行时代码生成和操作库每月下载量高达2000万次。

16、Jenkins。Jenkins由Sun Microsystems工程师Kohsuke Kawaguchi于2004年创建,是一个功能强大的开源的持续集成服务器。Jenkins用Java编写,可帮助我们快速自动地构建、测试和部署应用程序。它通常被认为是使“基础设施即代码”(Infrastructure As Code, Iac)成为可能的早期DevOps工具之一。Jenkins及其1500多个由社区贡献的插件可以处理各种各样的部署和测试任务,从与GitHub合作,到支持色盲开发人员,再到提供MySQL Connector JAR文件。

17、GraalVM。Oracle Labs的Thomas Wuerthinger领导的一个苏黎世(Zurich)研究团队,花费了多年的时间来磨练三个想法:我们是否可以用Java编写编译器(原始JVM是用C编写的)呢?它是否可以运行以任何语言编写的程序呢?它是否够高效呢?在发表了60篇研究论文之后,GraalVM最终胜出,并成为了一个商业产品。Twitter是这项技术的狂热爱好者之一,它使用GraalVM来提高服务的速度和计算效率

18、Micronaut。为云编写代码的开发人员需要仔细考虑其应用程序使用了多少内存,以及应用程序如何使用这些内存。Micronaut的创建者Graeme Rocher说:“您必须使应用程序对重启、故障自动切换、停机再恢复非常敏感,并在启动时间和内存消耗方面进行优化,”。Micronau是一个用于微服务的Java框架,该微服务需使用注解元数据,以便JVM能够有效地编译应用程序的字节码。

19、WebLogic Tengah。1997年,WebLogic Tengah成为企业级Java服务器的首个实质性实现。“它早于Java 2企业版,并成为BEA的主要产品,最终导致了Oracle收购BEA Systems, ”Java Magazine和Dr. Dobb's Journal的前主编Andrew Binstock说。与此同时,IBM在业务对象框架San Francisco Project上的成功,“使Java正从酷孩子们正在玩的一个有趣的新事物中脱颖而出,并成为一种严肃的业务工具,”Binstock说。如今,Oracle WebLogic Server仍然是领先的Java应用程序服务器。然而,另一种选择仍在蓬勃发展:开源应用程序服务器GlassFish,它于2005年由Sun创建,于2018年捐赠给Eclipse基金会。

20、Eclipse Collections。工作在投资银行、证券交易所和其他金融服务公司的许多高薪开发人员都需要强大的Java技能,这是有原因的:Java编程语言擅长处理并发,即管理高频交易和其他大规模金融事务中常见的多个执行线程。Eclipse Collections最初称为Goldman Sachs Collections,后来捐赠给了Eclipse基金会,它扩展了原生Java的性能密集型特性,“具有优化的数据结构和丰富的、功能强大的、流畅的API”,Java冠军Mani Sarkar说。Sarkar指出,Eclipse Collections包含缓存、原语支持、并发库、通用注解、字符串处理、输入 / 输出等等。

21、NSA Ghidra。在旧金山举行的2019年RSA大会上,美国国家安全局(U.S. National Security Agency)推出了一款基于Java的开源工具Ghidra,安全研究人员和从业者现在可以使用它来了解恶意软件的工作原理,并检查自己的代码是否存在漏洞。这个逆向工程平台可以将软件从机器语言反编译回源代码(例如Java语言)。该工具有一个故事,即使不是声名狼藉,也是传奇:2017年3月,维基解密(WikiLeaks)将其存在公之于众。