一、JVM通过执行引擎来完成字节码的执行,在执行过程中JVM采用的是自己的一套指令系统,每个线程在创建后,都会产生一个程序计数器(pc)和栈(Stack)。
其中pc中存放了下一条将要执行的指令;
Stack中存放Stack Frame,表示的为当前正在执行的方法,每个方法的执行都会产生Stack Frame,Stack Frame中存放了传递给方法的参数、方法内的局部变量以及操作数栈;
操作数栈用于存放指令运算的中间结果;
指令负责从操作数栈中弹出参与运算的操作数,指令执行完毕后再将计算结果压回到操作数栈;
当方法执行完毕后则从Stack中弹出,继续其他方法的执行。
在执行方法时JVM提供了invokestatic、invokevirtual、invokeinterface和invokespecial四种指令来执行
(1)invokestatic:调用类的static方法
(2) invokevirtual: 调用对象实例的方法
(3) invokeinterface:将属性定义为接口来进行调用
(4) invokespecial: JVM对于初始化对象(Java构造器的方法为:<init>)以及调用对象实例中的私有方法时。
二、执行技术
主要的执行技术有:解释,即时编译,自适应优化、芯片级直接执行
(1)解释:属于第一代JVM;
(2)即时编译:JIT属于第二代JVM;
(3)自适应优化:(目前Sun的HotspotJVM采用这种技术)则吸取第一代JVM和第二代JVM的经验,采用两者结合的方式。开始对所有的代码都采取解释执行的方式,并监视代码执行情况,然后对那些经常调用的方法启动一个后台线程,将其编译为本地代码,并进行仔细优化。若方法不再频繁使用,则取消编译过的代码,仍对其进行解释执行;
(4)芯片级直接执行:内嵌在芯片上,用本地方法执行Java字节码。
想深入了解JVM内存分配,请结合 http://hllvm.group.iteye.com/group/wiki/3053-JVM 这篇文章
文章整理自《JVM工作原理.ppt》
- 大小: 51 KB
分享到:
相关推荐
2.2、JVM体系结构 1、类加载器 2、执行引擎 3、运行时数据区 4、本地库接口 2.3、JVM内存参数调整及监控 1、JVM之内存调整 2、JVM监控工具之Jconsole 3、JVM监控工具之JProfile 加群:113035529 共同交流学习
JVM的生命周期 JVM的体系结构 JVM类加载器 JVM执行引擎 JVM运行时数据区 JVM垃圾回收 问题
文件总结了JVM的体系结构:四大块,类装载子系统(class loader subsystem),执行引擎子系统(Executionengine子系统),垃圾回收系统(gc),运行时数据区(JVM内存)。
第104讲 字节码执行引擎小结 00:03:38 第105讲 总结与回顾 00:10:55 第106讲 happens-before简单概述 00:15:17 第107讲 重排序问题 00:23:19 第108讲 锁的内存语义 00:13:54 第109讲 volatile的...
视频目录 第1节说在前面的话 [免费观看] 00:05:07分钟 | 第2节整个部分要讲的内容说明 [免费观看] 00:06:58分钟 | 第3节环境搭建以及jdk,...第104节字节码执行引擎小结00:03:38分钟 | 第105节总结与回顾00:10:55分钟
/ 189 7.4.1 类与类加载器 / 189 7.4.2 双亲委派模型 / 191 7.4.3 破坏双亲委派模型 / 194 7.5 本章小结 / 197 第8章 虚拟机字节码执行引擎 / 198 8.1 概述 / 198 8.2 运行时栈帧结构 / 199 8.2.1 局部变量...
首先JVM由类装载器,运行时数据区域,执行引擎,本地接口库和本地方法库组成。 什么是OOM,什么是栈溢出StackOVerFlowError? 怎么分析 JVM的常用调优参数有哪些 内存快照如何抓取,怎么分析Dump文件?知道吗? ...
JVM执行引擎和垃圾回收 基础语法 理解Java中对象基础Object类 基本数据类型,核心点整理 特殊的String类,以及相关扩展API 日期与时间API详解 流程控制语句,和算法应用 函数式编程概念和应用 集合容器 基于分析...
本人鼎立推荐本书,适合想深入了解Java...本书详细解释了JVM的体系结构,包括Java栈、堆、方法区和执行引擎,还深入讨论了各种技术实现,比如解释,即时编译以及自适应优化,对Java线程和监视器的行为也有精彩讲解。
HotSpot VM 是目前市面上高性能JVM 的代表作之一,它采用解释器+JIT 编译器的混合执行引擎,使得Java 程序的执行性能从此有了质的飞跃。《Java虚拟机精讲》以极其精练的语句诠释了HotSpot VM 的方方面面,比如:字节...
就如同一台真实的机器,它有自己的指令集和执行引擎,可以在运行时操控内存区域。目的是为构建在其上运行的应用程序提供一个运行环境。JVM可以解读指令代码并与底层进行交互:包括操作系统平台和执行指令并管理资源...
HotSpot VM是目前市面上高性能JVM的代表作之一,它采用解释器+JIT 编译器的混合执行引擎,使得Java 程序的执行性能从此有了质的飞跃。本书以极其精练的语句诠释了 HotSpot VM的方方面面,比如:字节码的编译原理、...
本书共分20章,第1-4章解释了java虚拟机的体系结构,包括java栈、堆、方法区、执行引擎等;第5-20章深入描述了java技术的内部细节,包括垃圾收集、java安全模型、java的连接模型和动态扩展机制、class文件、运算及...
本文叙述了Java虚拟机(JVM...在探讨虚拟机的设计过程中详细介绍了MiniJavaVM虚拟机各部分的设计,包括类的装载和解析,内存管理,执行引擎,方法调用和异常处理部分。最后通过测试MiniJavaVM来验证设计和实现的正确性。
第三部分分析了虚拟机的执行子系统,包括类文件结构、虚拟机类加载机制、虚拟机字节码执行引擎。第四部分讲解了程序的编译与代码的优化,阐述了泛型、自动装箱拆箱、条件编译等语法糖的原理;讲解了虚拟机的热点探测...
本书共20章,1~4章讲解Java虚拟机的体系结构, 包括栈, 堆,方法区,执行引擎
本书共分20章,第1-4章解释了Java虚拟机的体系结构,包括Java栈、堆、方法区、执行引擎等;第5-20章深入描述了Java技术的内部细节,包括垃圾收集、Java安全模型、Java的连接模型和动态扩展机制、class文件、运算及...