关于java的JIT知识

关于java的JIT知识

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

 
1.JIT的工作原理图 


关于java的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仅仅对常常运行的字节码进行编译,如循环等

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/118938.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 一款能自动生成报表的软件,工作秒完成!「建议收藏」

    一款能自动生成报表的软件,工作秒完成!「建议收藏」报表软件是企业管理的基本措施和途径,是企业的基本业务要求和实施 BI战略的基础。报表可以帮助企业访问、格式化数据,并把数据信息以可靠和安全的方式呈现给使用者,深入洞察企业运营状况,是企业发

  • Web.xml配置说明

    Web.xml配置说明1. web.xml配置详解:     <web-app> <!–指定WEB应用的名字–> <display-name>MyWeb</display-name> <!–WEB应用描述信息–> <description>MyWeb demo</description&gt

  • windows安装深度linux,最漂亮的国产Linux,windows下安装深度操作系统步骤

    windows安装深度linux,最漂亮的国产Linux,windows下安装深度操作系统步骤GIF国产操作系统都是基于Linux进行的二次开发,有很多国产系统只是在Linux基础上进行一些美化、内置几个软件就号称自己是操作系统了。而为什么深度操作系统deepinLinux一直深受用户喜爱呢?虽然它也是基于Linux内核,但它的整个系统架构设计都是自己研发制作的。从显示管理器、资源管理器再到桌面环境及比较实用的深度全家桶,在这个系统上,你不仅可以Linux原生的软件,还可以使用QQ、TI…

  • 为什么说Python 是大数据全栈式开发语言

    为什么说Python 是大数据全栈式开发语言欢迎大家访问我的个人网站《刘江的博客和教程》:"www.liujiangblog.com"主要分享Python及Django教程以及相关的博客原文链接http://www

  • DM368开发 — 毕设之硬件[通俗易懂]

    DM368开发 — 毕设之硬件[通俗易懂]这部分将参看相关的毕业论文设计来讲一下DM368的硬件部分。参看:相关论文基于DM368的高清视频监控系统设计与实现–文波一、系统硬件电路详细设计3.1TMS320DM368硬件平台简介TMS320DM368是德州仪器公司(TI)于2010年4月推出的新一代基于Davinci技术的高清视频处理器,内部集成了一颗ARM内核和两个视频图像协处理器,同时内部还集成了一个视频

  • winform使用SplitContainer控件[通俗易懂]

    winform使用SplitContainer控件[通俗易懂]在Windows资源管理器中,当把鼠标指针移动到TreeView控件和ListView控件之间时,可以左右拖动鼠标调整TreeView控件和ListView控件在主窗口中的大小比例,以适应不同显示内容的需要。我们可以使用SplitContainer控件实现这种功能。  可

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号