【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

原生编译加速 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:175406

评论

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

【写作训练营打卡|10】内容创作方式

我们为什么要标准定价?如何定价?

菜根老谭

产品经理 产品标准化

支持GPU虚拟化的云桌面厂家有哪些?

青椒云云电脑

云桌面 云桌面厂家

软件测试/测试管理圆桌讨论会 | 解锁测试管理的核心问题,提升您的管理实力!

霍格沃兹测试开发学社

每日一题:LeetCode-394. 字符串解码

半亩房顶

Go 算法 递归 LeetCode 字符串

MegEngine 优化 dataloader 使用体验!data monitor 帮助更好定位性能瓶颈

MegEngineBot

性能优化 Data 开源框架

BMF 开箱体验 开源赛道 1:高效视频处理

Echo_Wish

Python 视频处理 开源赛道1 BMF 高效视频处理

深入解读ReAct框架

Bob Lin

AI Python3 openai GPT-4 #LangChain

测试开发 | 数字化创新在文化保护中的崭新探索

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

测试

E往无前 | 腾讯云大数据ES日志轻接入和免运维最佳实践

腾讯云大数据

ES

独家好书丨《智算时代的容器技术演进与实践》免费下载

阿里巴巴云原生

阿里云 云原生 容器服务

产品破局思考:一个思维,一种策略

菜根老谭

华为云多活高可用服务MAS荣获“2023年香港星光奖“

华为云PaaS服务小智

云计算 华为云

KubeWharf:云原生操作系统引领大规模分布式应用的新时代

熬夜磕代码、

Google 沙盒效应是什么?网站如何避免谷歌沙盒!

九凌网络

智能引领决策:人工智能在决策支持系统中的崭新角色

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

测试

软件测试/测试开发/人工智能 | 测试管理核心问题,提升管理实力!

测试人

人工智能 软件测试 测试开发

Bartender 5 for mac(菜单栏图标管理)v5.0.48直装激活版

影影绰绰一往直前

你需要的圣诞祝福模板都在这里了!过不过圣诞都能用!

九凌网络

测试开发 | 数据分析与智能训练:体育领域的技术革新

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

测试

大模型之提示工程的使用与总结 主赛道:技术人的 2023 总结

Echo_Wish

技术 年度总结 大模型 2023 提示工程

测试开发 | 量子计算与人工智能的奇妙交融:开启全新计算时代

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

测试

文心一言 VS 讯飞星火 VS chatgpt (160)-- 算法导论12.4 2题

福大大架构师每日一题

福大大架构师每日一题

大模型实践 | 为慧眼智能可观测平台插上ChatInsight的翅膀

网易数帆

可观测性 网易 大模型 AIGC ChatInsight

科普大发云旗下平台

不服气别放弃

【FAQ】运动健康服务云侧数据常见问题及解答

HMS Core

火热的低代码,蕴藏怎样的机会和挑战?

互联网工科生

软件开发 低代码开发 JNPF

测试开发 | 人工智能的未来发展:科技新时代的奇迹之旅

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

测试

用AI为AI PC打造最强内核,英特尔是怎么做到的?

E科讯

程序员应用开发的神器——低代码

这我可不懂

程序员 软件开发 低代码开发 JNPF

产品经理该不该设计数据库表?

菜根老谭

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