Java 主导着企业级应用。但在云计算领域,采用 Java 的成本比它的一些竞争对手更高。原生编译降低了在云端采用 Java 的成本:用它创建的应用程序启动速度更快,使用的内存更少。

那么,Java 用户的问题来了:原生 Java 是如何改变开发方式的?我们在什么情况下应该切换到原生 Java?什么情况下又不应该切换?我们应该使用什么框架?本系列文章将回答这些问题。

1. Java革新之路:GraalVM原生镜像

GraalVM 原生镜像是一种预先编译器,它可以生成原生 Java 可执行文件。这些可执行文件启动非常快,使用更少的 CPU 和内存。这降低了在云端使用 Java 的成本。GraalVM 甚至可以达到与 JVM 相当的峰值吞吐量。许多 Java 框架已经支持 GraalVM,如 Spring Boot、Micronaut、Quarkus、Gluon 等。

作者: Alina Yurenko

2. 为 Java 提速:用 Quarkus 开发 Kubernetes Native Java 应用

在原生和基于 JVM 的 Java 应用程序的启动时间和内存利用率方面,Quarkus 都是业界的佼佼者。它降低了云计算的采用成本。在 Quarkus 中,Kubernetes 是一等部署平台,Kubernetes 的原语和特性都得到了良好支持。开发者可以继续使用他们已掌握的 Java API 知识,如 Jakarta EE、MicroProfile、Spring 等。应用程序可以是命令式的,也可以是响应式的,或者两者兼而有之!

作者: Jason Greene 、 John Clingan 、 Eric Deandrea

3. 现实世界中的原生 Java

部署在 Kubernetes 上的微服务是原生 Java 的一个绝佳应用场景:它们有很多框架和 Java 运行时。原生 Java 的构建、调试、测试、部署和配置需要更多的工作量。应用程序框架应该在生产环境中完全支持原生 Java。原生 Java 的采用可以是渐进式的,但原生 Java 应用程序只有在所有库都支持原生 Java 的情况下才能工作。

作者: KimJohn Quinn 、 Rakesh Raja 、 Jason Moehlman

4. Java 云原生之路:Micronaut 框架

Micronaut 框架为构建云原生 Java 微服务提供了坚实的基础。它减少了对 Java 反射、运行时代理生成和动态类加载的使用。与 GraalVM 提前编译(AOT)的紧密集成可见 Micronaut 框架采用量的增长。编译时检查增加了类型安全并提高了开发人员的开发效率。

作者: Graeme Rocher

5. 借助 Spring Boot 和 GraalVM 实现原生 Java

将于 2022 年底推出的 Spring Boot 3 和 Spring Framework 6 将内置对原生 Java 的支持。对于 Spring Framework 5.x 和 Spring Boot 2.x 来说,Spring Native 是可行之道。Spring Native 为 Spring 庞大的库生态系统提供了集成能力。它还提供了一个组件模型,支持对其他库进行原生编译。

作者: Josh Long

6. 标准化原生 Java:拉近 GraalVM 和 OpenJDK 的距离

原生 Java 对于 Java 在不断演进的云世界中保持相关性至关重要。原生 Java 还有待完善。开发生命周期也需要做出调整。通过 Leyden 来实现标准化是原生 Java 取得成功的关键。OpenJDK 需要引入原生 Java,以便与其他增强功能共同演进。

作者: Andrew Dinn 、 Dan Heidinga

原生编译加速 Java | InfoQ 专题相关推荐

  1. 云原生时代,Java 的危与机

    今天,25 岁的 Java 仍然是最具有统治力的编程语言,长期占据编程语言排行榜的首位,拥有一千二百万的庞大开发者群体,全世界有四百五十亿部物理设备使用着 Java 技术,同时,在云端数据中心的虚拟化 ...

  2. 云原生时代,Java还有优势么?

    1.最近,很多后端工程师都在讨论,Rust.Go和Java这三门语言的对比.虽然我们经常拿PHP是世界上最好的语言来开玩笑.但具体到工作里,确实语言的选择非常重要,这一定程度上会直接决定一个工程师薪资 ...

  3. 云原生时代,Java还是Go?

    Java曾经著名的座右铭:"一次编写,到处运行",已经很过时了,因为现在我们只想在容器里运行代码.在容器里,一个 "Just in time "的编译器意义不大 ...

  4. 对于原生代码使用Java线程的优缺点

    对于原生的代码使用Java线程与原生的线程相比有一下的优点: 它是很容易建立的. 在原生代码不需要任何改变 它不需要明确的附加到这虚拟机,Java线程已经是Java平台的一部分.原生代码和Java代码 ...

  5. 云原生时代的 Java 虚拟机

    GraalVM 背景 新.旧编程语言的兴起躁动,说明必然有其需求动力所在,譬如互联网之于JavaScript.人工智能之于Python,微服务风潮之于 Golang 等等.大家都清楚不太可能有哪门语言 ...

  6. GraalVM - 云原生时代的 Java 笔记

    GraalVM - 云原生时代的 Java 笔记 前言 GraalVM 诞生的背景 GraalVM Graal Compiler Benefits of JIT Creating a Native I ...

  7. 【Java核心技术大会 PPT分享】张家驹:云原生时代的Java — Quarkus及其最新进展...

    导读:云原生时代的Java - Quarkus及其最新进展 Java核心技术大会2022 云原生时代的Java - Quarkus及其最新进展 张家驹:红帽大中华区首席架构师 (Chief Archi ...

  8. 【笔记】Java反射专题

    反射专题 链接:[韩顺平讲Java]Java反射专题 1. 引出反射 需求: (1)根据配置文件re.properties指定信息,创建Cat对象并调用方法hi classfullpath=com.q ...

  9. 云原生时代高性能Java框架—Quarkus(一)

    --- Quarkus&GraalVM介绍.创建并启动第一个项目 Quarkus系列博文 Quarkus&GraalVM介绍.创建并启动第一个项目 构建Quarkus本地镜像.容器化部 ...

最新文章

  1. Multithreading in Java
  2. 【转】BLE 学习记录
  3. C++中引用传递与指针传递区别(进一步整理)
  4. html/css杂题
  5. java异常原则_有效处理Java异常三原则
  6. 教大家一个免费复制粘贴百度文库文字的方法
  7. 三个非负整数 马蹄集
  8. 趋势病毒软件卸载攻略
  9. Cheat Engine(CE)-----下载安装及入门
  10. hive和presto计算日期时间差
  11. RMAN duplicate 方式 做个备库
  12. 如何批量修改文件夹中的照片名称
  13. 关于跨境电商你了解多少!我们应该怎么做跨境电商?(中)
  14. 主动降噪在服务器中的应用,AirPods Pro主动降噪功能有多大用处?主动降噪耳机适用范围详解!...
  15. 大众点评分布式系统监控开源框架cat源码阅读(个人笔记)
  16. 电子台账之财务报表:自动匹配财务指标名称
  17. 生产后市场爆发,工业上云后的智能化场景革命
  18. ProCAST一键导出有限元模型的几何拓扑和属性信息
  19. 24节气- ||大雪|| 文案、海报分享,冬寒雪落,归家愈暖。
  20. oracle操作错误还原,Oracle delete误操作数据恢复(BBED)

热门文章

  1. AOE 工程实践-银行卡 OCR 里的图像处理
  2. QQ邮件定时发送天气预报
  3. WinHex v20.1绿色单文件版
  4. 三国志战略版:Daniel_无当飞军与白马义从之对比分析
  5. Android的Proxy/Delegate Application框架
  6. opencv滤镜-单色滤镜
  7. 未来社会的六大生存法则
  8. 赵李两位老板,同样的起点,赵年赚百万,李却一直亏损,为什么?
  9. 【高德地图API】从零开始学高德JS API(二)地图控件与插件——测距、圆形编辑器、鼠标工具、地图类型切换、鹰眼鱼骨
  10. 一文读懂苹果的差分隐私技术原理