许多JVM选择在开始时首先解释Java字节码
来源:互联网 发布:中兴软件南昌有限公司 编辑:程序博客网 时间:2024/05/16 04:58
内存管理器也有必须面对的问题。虽然具有较大的堆对性能有益,但为了使堆管理算法伸缩自如,这也加重了JVM的负担。虽然始终都有堆碎片的问题,但在堆较大时,这一问题就很严重了。
编译器和优化器
为了实现快速启动,许多JVM选择在开始时首先解释Java字节码,在随后运行时再对这些字节码进行编译。然而,JRockit首先使用JIT(Just In Time)编译器编译代码。虽然启动时间稍长,但这样可以使应用程序能够从一开始就提高性能。为了实现快速启动,WebLogic JRockit不使用所有可能的编译器优化。虽然使用所有编译器优化可能会在应用程序执行的初始阶段获得较高性能,但在启动时间上的额外延长也被认为是不必要的。
从应用程序性能的角度考虑,使用所有优化去编译所有方法也是不必要的,因为编译时间也是应用程序执行时间的一部分。因此,不仅WebLogic JRockit不会在启动时完全优化所有方法,而且在整个应用程序运行期间,也会保留大量的方法不被优化。WebLogic JRockit仅选择改进后能够最大限度地提高应用程序性能的函数,然后仅对这一少部分方法进行优化。
WebLogic JRockit有两个各不相同但可以协同操作的代码生成器:JIT编译器和优化编译器。如图1所示。大多数方法只能遍历图表的左半边。某些选择方法将会利用优化编译器。
0 0
- 许多JVM选择在开始时首先解释Java字节码
- Java字节码---解释执行
- 【JVM】模板解释器--字节码的resolve过程
- java中i++ ++i字节码解释
- 把.net程序编译成java字节码在jvm上运行?
- 字节码解释执行
- JVM字节码初探
- JVM字节码
- jvm字节码详解
- JVM字节码
- JVM字节码格式
- JVM字节码
- JVM字节码初探
- 【JVM】模板解释器--如何根据字节码生成汇编码?
- 初学java首先需要重以下的知识开始
- JVM学习笔记——一个简单程序编译成字节码指令后的解释
- 用java字节码解释i++和++i
- 用java字节码解释i++和++i
- TextView的自动换行问题
- C/S模式也就是client/server
- https中的数字证书认证过程解析
- JAVA List<T> 如何初始化
- Linux 一些常用工具软件
- 许多JVM选择在开始时首先解释Java字节码
- 面向对象和面向过程
- Java 线程池的使用详解
- 树莓派安装MJPG-streamer过程
- 用户空间与内核空间,进程上下文与中断上下文[总结]
- arm交叉编译器gnueabi、none-eabi、arm-eabi、gnueabihf、gnueabi区别
- 二叉树的下一个节点(中序)
- Spring MVC REST风格实现PUT、DELETE请求
- Spring applicationContext.xml约束