50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

原生编译加速 Java | InfoQ 专题

作者:Karsten Silz

  • 2022-07-08
  • 本文字数:1143 字

    阅读完需:约 4 分钟

原生编译加速Java | InfoQ专题

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 GreeneJohn ClinganEric Deandrea


3. 现实世界中的原生 Java


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


作者:KimJohn QuinnRakesh RajaJason 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 DinnDan Heidinga

2022-07-08 09:175756

评论

发布
暂无评论
发现更多内容

软件测试 | 测试开发 | 智能音箱语音交互系统简介与测试初探

测吧(北京)科技有限公司

软件测试、

软件测试 | 测试开发 | App自动化之dom结构和元素定位方式(包含滑动列表定位)

测吧(北京)科技有限公司

DOM 自动化测试

如何让你的代码更优雅?

六月的雨在InfoQ

性能 代码优化 优雅 日常开发 8月月更

设计模式的艺术 第二十三章状态设计模式练习(设计一款纸牌游戏软件,该游戏中用户角色具有入门级、熟练级、高手级和骨灰级4种等级。角色等级与积分对应,胜利增加积分,失败扣除积分。入门级有最基本的游戏功能,熟练级增加胜利积分加倍功能,高手级再增加换牌功能)

代廉洁

设计模式的艺术

提质增效两不误,揭秘大型软件团队「价值增长飞轮」|直播回顾

万事ONES

软件测试 | 测试开发 | Monkey基本参数介绍

测吧(北京)科技有限公司

软件测试、

解决方案|电力行业应如何应对数字化转型危机

云智慧AIOps社区

安全 监控 解决方案 智能运维AIOps 故障处理

华为终端全面上新,做全场景智慧体验时代的引领者

ToB行业头条

[译]为什么程序员不应该长期留在一家公司

宇宙之一粟

成长 跳槽 8月月更

加密数字艺术背后你关心的几个问题

神奇视野

软件测试 | 测试开发 | 如何利用 xUnit 框架对测试用例进行维护?

测吧(北京)科技有限公司

软件测试

提速 10 倍!深度解读字节跳动新型云原生 Spark History Server

字节跳动数据平台

数据库 spark 数据存储 湖仓一体 数据计算

阿里云基于全新 RocketMQ 5.0 内核的落地实践

阿里巴巴云原生

阿里云 RocketMQ 云原生

深度干货!一篇Paper带您读懂HTAP | StoneDB学术分享会第①期

StoneDB

MySQL HTAP StoneDB 企业号九月金秋榜 实时数据库

基于 GitHub 的数据库 CI/CD 最佳实践

Bytebase

GitHub cicd Github Actions SQL审批

荣耀智慧服务百亿曝光扶持计划,具体申请规范来了!

荣耀开发者服务平台

卡片服务 荣耀 honor

【刷题之路 | Java & Python】两数之和(暴力枚举&哈希表)

计算机魔术师

8月月更

测试左移之Sonarqube scanner使用

测吧(北京)科技有限公司

软件测试 SonarQube

java远程连接ssh的实现

测吧(北京)科技有限公司

Java、

【Django | 安全防护】防止XSS跨站脚本攻击

计算机魔术师

8月月更

软件测试 | 测试开发 | 如何用Sonic云真机打王者

测吧(北京)科技有限公司

测试 scrcpy

MobTech 短信验证iOS端SDK API

MobTech袤博科技

ios sdk

数字货币永续合约交易所app系统开发

开发微hkkf5566

共识算法入门

神奇视野

Hyperledger Cactus(一):架构初探

神奇视野

软件测试 | 测试开发 | HttpRunner初体验

测吧(北京)科技有限公司

HttpRunner

华为云数字资产链,构建新型数字经济价值

神奇视野

【操作系统 | Linux】终端切换与帮助命令

计算机魔术师

8月月更

【Django | 安全防护】CSRF跨站伪请求和SQL注入攻击

计算机魔术师

8月月更

【Django | 开发】分离上线环境与开发环境(多settings配置)

计算机魔术师

8月月更

严禁外传,字节跳动2022秋招Java岗位架构师面试题(暂定版)发布

钟奕礼

Java 编程 程序员 后端 java面试

原生编译加速Java | InfoQ专题_云原生_InfoQ精选文章