博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于java的JIT知识
阅读量:6232 次
发布时间:2019-06-21

本文共 520 字,大约阅读时间需要 1 分钟。

 
1.JIT的工作原理图 
工作原理
当JIT编译启用时(默认是启用的),JVM读入.class文件解释后,将其发给JIT编译器。JIT编译器将字节码编译成本机机器代码。
通常javac将程序源码编译,转换成java字节码,JVM通过解释字节码将其翻译成相应的机器指令,逐条读入,逐条解释翻译。非常显然,经过解释运行,其运行速度必定会比可运行的二进制字节码程序慢。为了提高运行速度,引入了JIT技术。
在执行时JIT会把翻译过的机器码保存起来,已备下次使用,因此从理论上来说,採用该JIT技术能够,能够接近曾经纯编译技术。
2.相关知识
JIT是just in time,即时编译技术。使用该技术,可以加速java程序的运行速度。
JIT并不总是奏效,不能期望JIT一定可以加速你代码运行的速度,更糟糕的是她有可能减少代码的运行速度。这取决于你的代码结构,当然非常多情况下我们还是可以如愿以偿的。
从上面我们知道了之所以要关闭JITjava.lang.Compiler.disable(); 是由于加快运行的速度。由于JIT对每条字节码都进行编译,造成了编译过程负担过重。为了避免这样的情况,当前的JIT仅仅对常常运行的字节码进行编译,如循环等

转载地址:http://ljtna.baihongyu.com/

你可能感兴趣的文章
iperf 测试网络性能指标
查看>>
windows下安装mysql压缩包版[转]
查看>>
Emacs常用命令汇总
查看>>
从传统IT快速走向公共云计算
查看>>
小菜一步一步学数据结构之(一)基本概念和术语
查看>>
《Redis官方教程》Redis集群规范
查看>>
Mac下没有make命令解决办法
查看>>
DLL中传递STL参数
查看>>
postgresql 范围类型
查看>>
隐藏 tengine 和 tomcat 版本号
查看>>
非面试向跨域实践详解
查看>>
一个非常好看的图片选择框架LPhotoPicker,确定不来看看么
查看>>
线上压缩代码-定位错误
查看>>
一个简洁且强大的状态管理库 - iFlow
查看>>
IP地址转换函数——inet_pton inet_ntop inet_aton inet_addr inet_ntoa
查看>>
设计模式笔记---4. 装饰模式
查看>>
springmvc + mybatis + ehcache + redis 分布式架构
查看>>
爬虫学习日记(四)分析Freenium
查看>>
nginx事件模块 -- 第五篇 epoll add
查看>>
共享栈基本操作
查看>>