原标题:Java:原生Java是Java云世界中保持相关性的关键
二十多年来,Java一直是企业应用程序和网络服务的首选语言。它有一个非常丰富的中间件、库和工具的生态系统,以及一个由经验丰富的开发人员组成的非常大的社区,这使得它成为开发基于云的应用程序或将现有Java应用程序迁移到云中的明显选择。
然而,Java及其运行时的历史发展与今天的云需求之间存在不匹配。所以Java需要改变以保持在云中的相关性!原生Java是这里最有前途的选择。
Java的超能力之一是相当枯燥的东西:标准化。它是整个Java生态系统的稳定基石。标准化确保了,不管存在多少不同的JDK实现,在概念上有一个Java语言和一个Java运行时模型作为目标。相同的应用程序可以在任何JDK上运行——无论是OpenJDK的衍生产品还是像Eclipse OpenJ9这样的独立实现。这建立了开发者的信心:平台只是工作。再加上Java对向后兼容性的长期承诺——旧的Java 1.4 JAR文件今天仍然在Java 18上运行——我们已经看到框架、库和应用程序的生态系统蓬勃发展。Java持续的、谨慎的、基于标准的发展是这种增长的关键。
Java的标准化保证了您的应用程序将持续运行。投资这个生态系统是值得的。库可以继续工作,而不需要对每个版本进行重大修改。框架不需要在每个版本中重新投资。应用程序开发人员可以专注于增加业务价值,而不是不断适应不兼容的变化。并非所有的编程语言生态系统都做出这些保证。随着Java发布的快速和频繁,这些保证对于Java在不失去开发人员的情况下继续发展是至关重要的。
Java在云中保持相关性是至关重要的。这对Java社区有很多好处。然而,原生Java需要对应用程序的开发和部署方式进行巨大的改变。因为它存在于核心平台和标准化过程的稳定性保证之外,所以它有分叉Java定义的风险。
同时,动态Java在OpenJDK中继续发展。正在进行的主要项目有:Loom增加了轻量级线程和结构化并发,Valhalla引入了像类一样编码,像int一样工作的类型,Panama改进了Java与非Java代码的工作方式,Amber发布了更小的功能,使开发人员更有效率。
到目前为止,原生Java在跟踪平台方面非常成功。但是它只有通过使用替换来适应Java平台和核心JDK库才取得了成功:这些是修改类以与本地Java一起工作的伴随Java类。但是他们冒着破坏他们修改的代码的不变量的风险。当原始代码无法更改时,替换是一个非常实用的解决方案。但是它们不能扩展。它们也面临着与其他语言中的猴子补丁解决方案相同的问题——强大但危险。由于它们修改的类的变化,它们可能变得不正确。一个最近的例子是是JDK运行时替换,在JDK更改后变得无效。Quarkus团队幸运地发现并修复了这个问题。
将原生Java引入OpenJDK提供了一个做得更好的机会,修改Java平台而不是使用替换之类的技巧——不仅直接更新JDK类库,还可能更新编程模型。它确保现有的OpenJDK项目在开发特性时检查整个平台——包括动态和本地用例。它确保应用程序受益于作为平台中一等公民的本地Java,为两种部署模型带来更好的解决方案。
结论
在过去的20年里,Java一直是占主导地位的企业语言,它建立在标准化过程所提供的稳定性之上。语言、运行时和库之间的共同发展,在历史上都是由于摩尔定律而追求快速的硬件改进,这简化了开发人员的工作,因为他们努力从他们的应用程序中获取最大的性能。
原生Java的兴起使Java适应了资源受限的云部署。但现在它正站在十字路口。它可以继续独立发展,并冒着在每个版本中脱离动态Java的风险,直到它有效地成为一个独立的实体,拥有自己的利益相关者、社区和库。或者,原生Java可以在Java标准的旗帜下加入,并与平台的其余部分一起发展成有益于所有用例的东西。这将给本地Java的功能带来稳定性,并允许出现通用的部署实践。返回搜狐,查看更多
责任编辑:
声明:本文部分素材转载自互联网,如有侵权立即删除 。
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
8. 精力有限,不少源码未能详细测试(解密),不能分辨部分源码是病毒还是误报,所以没有进行任何修改,大家使用前请进行甄别
丞旭猿论坛
暂无评论内容