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

转载于:https://www.cnblogs.com/zfyouxi/p/4184399.html

关于java的JIT知识相关推荐

  1. 关于Java的JIT(即时编译器)知识整理

    文章目录 前言 一.JIT(即时编译器) 1.1 解释执行和编译执行的区别 1.2 Java代码编译过程 1.3 JIT是什么 二.HotSpot是什么 2.1 说JIT比解释快,其实说的是" ...

  2. java培训基础知识都学哪些

    很多人都开始学习java技术,觉得java语言在未来的发展前景空间非常大,事实却是如此,那么针对于零基础的同学, 学习java技术需要学哪些呢?下面我们就来看看java培训基础知识都学哪些? java ...

  3. 【Todo】Java的JIT机制

    先是参考了这篇说的不怎么详细的文章<Java的JIT机制>(Link) JIT是just in time,即时编译技术.使用该技术,能够加速java程序的执行速度. 通常javac将程序源 ...

  4. 你觉得什么才是 Java 的基础知识?

    近日里,很多人邀请我回答各种j2ee开发的初级问题,我无一都强调java初学者要先扎实自己的基础知识,那什么才是java的基础知识?又怎么样才算掌握了java的基础知识呢?这个问题还真值得仔细思考. ...

  5. java学生背景知识要求,好好学习Java并发 一、背景知识

    并发指一个处理器同时处理多个任务,但这个定义只是从宏观上来讲的.举个生活中的例子来说明,一个电商小二同时接待两个客户,小二通常的做法是在和A客户聊的间隙回复B客户的问题,和B客户聊的间隙又回复A客户的 ...

  6. Java SE 重点知识笔记

    文章目录 前言: 1.Java概述 1.1.Java语言跨平台原理: 1.2.JRE和JDK: 1.3.HelloWorld案例: 2.java基础语法 2.1.注释 : 2.2.类型转换: 3.数据 ...

  7. 计算机java语言教程,计算机JAVA教程二讲Java语言基础知识.doc

    计算机JAVA教程二讲Java语言基础知识 2.1简单数据类型 2.1.1 标识符和保留字 1.标识符 程序员对程序中的各个元素加以命名时使用的命名记号称为标识符(identifier).Java语言 ...

  8. Java函数式编程知识分享!

    Java是一种计算机编程语言,可用于编写桌面应用程序.Web应用程序.分布式系统和嵌入式系统应用程序等,是IT开发行业中最受欢迎的编程语言之一.想要学好Java必须要一步一个脚印打好基础.积攒实战经验 ...

  9. java ee基础知识_Java EE:基础知识

    java ee基础知识 想要了解一些基本原则,即与Java EE相关的技术术语. 对于许多人来说,Java EE / J2EE仍然最多意味着Servlet,JSP或Struts. 没有冒犯或双关语! ...

最新文章

  1. 使用Python,dlib,OpenCV在实时的视频流中进行面部标志检测
  2. Serverless 时代下大规模微服务应用运维的最佳实践
  3. postman测试传入json
  4. Java NIO 系列教程 转
  5. C#——Circle(圆)类
  6. 为容器提供持久存储,这个方法试试看
  7. 存储过程实现邮件发送
  8. “人,落魄时,千万别装可怜”你怎么看?
  9. 各种标点符号的英文翻译
  10. 《Oracle 11g SQL 和PL SQL从入门到精通》 学习笔记
  11. C语言小项目----图书馆管理系统
  12. Mysql语句字符串拼接
  13. 各家关节机器人示教器特点
  14. 软件备份(拷贝构造函数)
  15. Python自动发抖音脚本教程(1:介绍和源码)
  16. 基于python的购物比价_python比价
  17. 十大畅销经济学类书籍
  18. 如何将pdf转word?这几个软件可以做到文档格式转换
  19. 调研-python使用win32com模块操纵excel
  20. VIF-Benchmark: All infrare and visible image fusion method in one framework

热门文章

  1. JVM 史上最最最完整知识总结!
  2. explain都不懂,还好意思说会SQL调优?
  3. 简单好用!利用Spring AOP技术10分钟实现一个数据库读写分离方案
  4. 红黑树的理解与 Java 实现
  5. 如果你也想做实时数仓…
  6. Spring Boot 配置文件 yml与properties
  7. Spring Boot 注册 Servlet 的3种方式
  8. JDK8新特性之接口默认方法与静态方法
  9. 双11/618,除了能拉升业绩外,还有什么好处?
  10. 【Python】青少年蓝桥杯_每日一题_8.11_画二叉树