Java:开源Java编译器的下一个前沿——实时编译即服务

createh54个月前 (03-01)技术教程32

  对于Java开发人员来说,实时(JIT)编译器是提高性能的关键。然而,在容器世界中,由于CPU和内存消耗的限制,性能的提高经常被抵消。为了帮助解决这个问题,Eclipse OpenJ9 JVM提供了JITServer技术,它将JIT编译器从应用程序中分离出来。

  JITServer的性能特征使它成为云的理想解决方案。它允许用户使用更小的容器来实现更高的应用密度,从而为最终用户和/或云提供商节省成本。因为消除了JIT编译导致的CPU和内存激增,所以用户可以更轻松地为他/她的应用程序提供资源。其他优势包括:加速时间、更好地控制编译资源、增加可靠性(JIT编译器错误不再使应用程序崩溃)以及在许多应用程序实例中分摊编译成本。

  总而言之,在以下情况下,JITServer是一个很好的解决方案:

  JVM需要在相对较短的时间内编译许多方法

  JVM运行在一个CPU/内存受限的环境中,这个环境最不允许与其本地JIT编译器共享资源

  JITServer和客户端虚拟机之间的网络延迟相对较低(< 1毫秒)

  

  在java培训中,有理论知识+实践项目课程,双管齐下,学以致用,让你深入浅出地学习java。

  部署JITServer时,请遵循以下建议以最大限度地提高性能:

  将10-20个客户端JVM连接到一个JITServer实例

  将JITServer配置为至少使用1-2 GB的RAM运行

  如果使用Kubernetes,将JITServer的vCPU“限制”设置为比“请求”大得多,以考虑到CPU使用高峰,并使用“sessionAffinity”来确保JVM客户机总是连接到同一个JITServer

  错开客户机JVM的启动,以便它们的编译阶段不会全部重叠

  尽可能避免加密,因为这会增加通信开销

  启用JITServer AOT缓存,以便可以存储编译供共享使用


相关文章

Java中获取和处理系统时间的最佳实践

Java中获取和处理系统时间的最佳实践引言在现代软件开发中,时间的处理是一个至关重要的环节。无论是记录日志、生成唯一标识符还是处理并发操作,准确的时间信息都是不可或缺的。Java 提供了多种方式来获取...

全网最全!彻底弄透Java处理GMT/UTC日期时间

作者丨BAT的乌托邦正文平时工作中遇到时间如何处理?用Date还是JDK 8之后的日期时间API?如何解决跨时区转换等等头大问题。A哥向来管生管养,管杀管埋,因此本文就带你领略一下,Java是如何实现...

Java与人工智能:从入门到精通_java转人工智能好转么

Java与人工智能:从入门到精通引言在当今数字化时代,人工智能(AI)已经成为推动技术进步的重要力量。Java作为一种广泛使用的编程语言,以其平台无关性、强大的库支持和丰富的生态系统,在人工智能领域中...

Java并发编程实战:全面指南_java并发编程深度解析

Java并发编程实战:全面指南引言Java并发编程是现代软件开发中不可或缺的一部分,尤其是在处理高并发请求、大规模数据处理和实时系统时。随着多核处理器的普及,充分利用CPU资源成为了提升应用程序性能的...

面试官:讲讲雪花算法,越详细越好

前面文章在谈论分布式唯一ID生成的时候,有提到雪花算法,这一次,我们详细点讲解,只讲它。SnowFlake算法据国家大气研究中心的查尔斯·奈特称,一般的雪花大约由10^19个水分子组成。在雪花形成过程...

Java:代码世界的常青树,就业前景大揭秘

Java:当下依旧火热在当今数字化浪潮中,Java 作为一门经典的编程语言,始终占据着技术舞台的 C 位。先来看一组令人震撼的数据:根据 IDC 统计,全球范围内对 Java 开发工程师的需求竟达到全...