JVM学习之---了解JIT
先对JVM进行一个说明。
jvm只识别字节码,所以jvm跟语言是解耦的,jvm运行的是class文件,像Groovy,Kotlin,Scala等语言,他们都可以转移成字节码,也都可以再jvm上运行,这就是JVM的跨语言的特征。
解释执行与JIT
解释执行:主要是执行字节码指令,一般这些指令会按照顺序解释执行。
JIT:在运行时,虚拟机将会把这些代码编译成与本地平台相关的机器码,并进行各种层次的优化。也称为及时编译。(Just In Time Compiler)
在JDK10之前(列如jdk8)
内置了两个JIT,分别是C1编译器和C2编译器
C1:编译器是一个简单快速的编译器,不优化代码
C2:优化代码,目前无人能维护
分层编译,JDK8之后,默认开启了分层编译
逃逸分析: 实现栈上分配
分析对象动态作用域,当一个对象在方法中定义后,它可能被外部方法所引用
如果是逃逸分析出来的对象可以在栈上分配的话,那么该对象的生命周期就跟随线程了,就不需要垃圾回收。如果是频繁的调用此方法则可以得到很大的性能提高。
采用了逃逸分析后,满足逃逸的对象在栈上分配
没有开启逃逸分析,对象都在堆上分配,会频繁触发垃圾回收(垃圾回收会影响系统性能),导致代码运行慢
JVM学习之---了解JIT相关推荐
- JVM学习笔记汇总:结合尚硅谷宋红康老师视频教程及PPT
JVM学习笔记汇总:结合尚硅谷宋红康老师视频教程及PPT 第一章:JVM虚拟机的介绍 1.1虚拟机的分类 虚拟机通常分为两类:系统虚拟机和程序虚机.其中,系统虚拟机是指完全对物理计算机的仿真,而程序虚 ...
- JVM学习笔记(自用)
JVM学习笔记(自用) 文章目录 JVM学习笔记(自用) 1.简介 2.程序计数器 3. 虚拟机栈 4. 方法区 5. 直接内存 6. 垃圾回收 Young Collection Young Coll ...
- Java虚拟机JVM学习06 自定义类加载器 父委托机制和命名空间的再讨论
Java虚拟机JVM学习06 自定义类加载器 父委托机制和命名空间的再讨论 创建用户自定义的类加载器 要创建用户自定义的类加载器,只需要扩展java.lang.ClassLoader类,然后覆盖它的f ...
- JVM学习笔记(一)------的基本结构
从Java视台的逻辑结构.我们能够从图中学习JVM: 您可以从图表清楚地看到Java该平台包括各种逻辑模块,还可以学习JDK与JRE差异 于JVM它们的物理结构,我们可以看一下从图计划: 为JVM学习 ...
- Java虚拟机JVM学习05 类加载器的父委托机制
Java虚拟机JVM学习05 类加载器的父委托机制 类加载器 类加载器用来把类加载到Java虚拟机中. 类加载器的类型 有两种类型的类加载器: 1.JVM自带的加载器: 根类加载器(Bootstrap ...
- JVM学习笔记(四)------内存调优
首先需要注意的是在对JVM内存调优的时候不能只看操作系统级别Java进程所占用的内存,这个数值不能准确的反应堆内存的真实占用情况,因为GC过后这个值是不会变化的,因此内存调优的时候要更多地使用JDK提 ...
- JVM学习笔记(四)
JVM学习笔记(四) 文章目录 JVM学习笔记(四) 笔记链接 1.GC算法 1.1GC-判断对象是否可回收 1.1.1 引用计数法 1.1.1 可达性分析 1.2GC-回收算法 标记清除法(Mark ...
- jvm学习笔记(三)
jvm学习笔记(三) 文章目录 jvm学习笔记(三) 1.全部笔记链接 2.堆 2.1堆的划分 使用JVM参数查看划分 Hotspot堆内存划分图(JDK8之前) 2.2 GC对堆的回收 GC的种类 ...
- jvm学习笔记(二)
jvm学习笔记(二) 文章目录 jvm学习笔记(二) 1.全部笔记链接 2. Native关键字 3.关于JVM规范 3.1 JVM规范中运行时数据区的概念 4.HotSpot的JVM运行时数据区 4 ...
最新文章
- 【翻译】QEMU内部机制:顶层概览
- vbs控制电脑说话,vbs获取时间,vbs小程序
- java 运行环境测试_java – 在多个环境中执行JUnit测试的配置
- 全国计算机等级考试题库二级C操作题100套(第73套)
- 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 16丨市场分析 II【难度困难】​
- python在windows配置_Python在windows平台的多版本配置
- 实施微服务应该具备哪些先决条件?
- 程序员面试宝典及Java面试题解析2021年
- cad卸载工具_如何卸载AutoCAD 附上清理注册表方法
- 计算机绘图 cad),CAD计算机绘图入门
- 不是后端也应该知道的「 web 服务、子服务、服务的部署」
- 大揭秘(1):网店背后的隐秘产业链【连载】
- java获取域名的mx记录,A记录、CNAME、MX记录、NS记录
- 蓝桥杯练习题--Fibonacci数列
- 自动白平衡(AWB)算法---1,色温曲线
- python中心性评价_centrality 计算复杂网络中的节点或边 数中心性,基于python的 工具箱 matlab 238万源代码下载- www.pudn.com...
- matlab极性电容叫什么,什么是无极性电容
- java编程之如何计算正弦值、余弦值和正切值
- 想练八段锦?扔掉可爱漫画版吧,现在出真人教练版了!
- Android设置屏幕亮度
热门文章
- 十行代码写个摸鱼神器,帮你自动化操作Excel
- 学术-物理-维空间:二维空间
- 海思开发板实用技巧集
- 用友系统客户端登录不上服务器,图文详解用友客户端连不上服务器解决方法.pdf...
- 程序员成才的关键——内在兴趣和善于发现
- Excel绘制带象限散点图的4种办法
- Thinkphp5.1实现发送邮箱验证码
- Wise Duplicate Finder(重复文件查找工具)v1.2.9.40中文免费版
- 多图带您领略Windows 10 Server虚拟化平台风采
- linux文件目录基本操作实验结论,实验 Linux文件和目录操作