`
txidol
  • 浏览: 54537 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Java虚拟机学习笔记(字节码执行引擎)

 
阅读更多

运行时栈帧结构

1.局部变量表 null JIT编译器优化
2.操作数栈 LIFO
3.动态链接 |
4.方法返回地址 | 栈帧信息
5.附加信息 |

——————————————————————————————————

方法调用

1.解析调用

符号引用 静态、私有、实例构造器、父类方法 final 非虚方法

2.分派

1.静态分派
虚拟机(编译器)在重载时是通过参数的静态类型而不是实际类型作为判断
静态类型在编译器是可期的,且选择更加适合的版本
2.动态分派
重写 invokevirtual 运行期确定接受者实际类型
3.单分派与多分派
方法的接收者与方法的参数统称为方法的宗量。
单分派 一宗量 多分派 多余一个宗量
Java语言静态多分派,动态单分派
4.虚拟机动态分派的实现
虚方法表 接口方法表 | 内联缓存 守护内联

——————————————————————————————————

基于栈的字节码解释执行引擎

1.解释执行 (/编译执行)
2.基于栈的指令集 可移植性,更紧凑,简单(/基于寄存器的指令集)速度快,受限硬件
3.基于栈的解释器执行过程

public int add(){ int a =1 ; int b = 2 ; return a+b };

0:bipush 1
2:istore_1
3:sipush 2
6:istore_2
7:iload_1
8:iload_2
9:iadd
10:ireturn

分享到:
评论

相关推荐

    深入Java虚拟机读书笔记1

    深入理解Java虚拟机,首先我们要明白Java虚拟机(JVM)的核心功能:它负责装载类文件,执行字节码,并管理内存。Java虚拟机的结构复杂且高效,主要由类装载器、执行引擎、内存管理和类库等组件构成。 类装载器是JVM...

    JVM 学习笔记(Java虚拟机)

    **JVM学习笔记(Java虚拟机)** Java虚拟机(JVM)是Java语言的核心组成部分,它是Java程序运行的平台,负责解释和执行字节码。深入理解JVM对于优化Java应用程序性能至关重要。本笔记将从以下几个方面详细介绍JVM:...

    java虚拟机学习笔记基础篇

    总结来说,了解Java虚拟机的学习笔记基础篇,可以帮助Java开发者更好地掌握Java程序的执行机制,理解类的加载、链接和初始化过程,以及JVM的内存模型和执行引擎的工作原理,从而编写出更加高效和稳定的Java应用程序...

    JVM:深入理解Java虚拟机 - 学习笔记

    4. **字节码执行** JVM的执行引擎执行字节码,这包括解释器和即时编译器(JIT)。解释器逐行执行字节码,而JIT会将热点代码编译成机器码以提高性能。 5. **垃圾收集** JVM通过垃圾收集机制自动管理内存,避免内存...

    理解虚拟机--有笔记版

    程序计数器是一个比较小的内存区域,用于指示当前线程所执行的字节码执行到了第几行,是线程私有的内存。 本地方法栈与栈类似,但服务于JVM运行的本地方法(Native Method)。 在JVM的执行过程中,类加载器(Class...

    java虚拟机源码学习-UnderstandingTheJVM:深入理解Java虚拟机(周志明)源码及学习笔记

    3. **字节码执行引擎**:JVM通过解释器和Just-In-Time (JIT)编译器执行字节码。解释器逐行解释执行,而JIT编译器则将热点代码编译成机器码,提升运行效率。 4. **垃圾收集机制**:JVM自动管理内存,通过垃圾收集器...

    学习笔记之对象的创建(Java)

    Java虚拟机的执行引擎负责解释或编译字节码指令,使其能够在特定的硬件平台上执行。Java虚拟机支持约248种字节码指令,每条指令对应一项基本的计算任务,如整数加法或子程序跳转等。指令的执行流程通常遵循以下模式...

    Java编程思想学习笔记

    在讨论Java编程思想学习笔记时,首先需要了解的是Java语言的平台无关性,而这一特性正是通过Java虚拟机(JVM)得以实现的。JVM作为Java程序设计的关键组成部分,对于Java开发人员来说是必须掌握的基础知识。在该学习...

    java虚拟机源码-openjdk7:openjdk7源码(深入理解java虚拟机,读书笔记)

    3. **字节码执行引擎**:解释器和即时编译器(JIT)负责执行字节码。解释器逐条执行字节码,而JIT会将频繁执行的代码编译成机器码以提高性能。 4. **垃圾收集器**:自动管理内存,通过标记-清除、复制、标记-整理、...

    JavaSE->关于我个人学习Java途中整理的笔记

    JVM是Java虚拟机,它是运行Java字节码的引擎,负责将字节码解释成具体平台的机器码执行。JRE(Java Runtime Environment)包含了运行Java程序必要的组件,包括JVM和核心类库。JDK(Java Development Kit)是开发工具...

    java学习笔记JDK6课件之一

    Java的这种特性得益于其虚拟机——Java虚拟机(JVM),它使得Java代码能够在任何安装了JVM的设备上执行。 Java有三个主要的应用平台:Java Platform, Standard Edition (Java SE),Java Platform, Enterprise ...

    JAVA学习笔记-java学习笔记WORD样式.docx

    1. **JVM**(Java虚拟机):运行Java字节码的引擎。 2. **JRE**(Java运行时环境):包含JVM和核心类库。 3. **JDK**(Java开发工具包):包括JRE和开发工具,如编译器`javac`。 #### 七、JDK的下载、安装、卸载 1...

    JAVA学习笔记(林信良 编著 教程)

    - **JVM (Java Virtual Machine)**:Java 虚拟机,负责解释执行 Java 字节码。 - **JRE (Java Runtime Environment)**:Java 运行环境,包含了 JVM 和 Java 核心类库,用于运行 Java 程序。 - **JDK (Java ...

    java笔记(基础)

    - **JVM**:是JRE的一部分,负责运行Java字节码,是Java平台的执行引擎。 5. JDK的安装目录结构中,各部分的作用如下: - **bin**:包含可执行文件,如编译器和解释器。 - **demo**:提供示例程序,帮助学习和...

    JAVA基础笔记.zip

    类加载器负责查找和加载类,解释器将字节码转换为机器码,并由执行引擎运行。这个过程中还涉及到垃圾收集机制,自动回收不再使用的内存。 2. **内存管理**:在Java中,内存分为栈和堆两部分。栈主要存储基本类型...

    JDK学习笔记的全部

    JVM是Java程序的执行引擎,负责解释和执行字节码。JRE中的核心类库提供了一系列基础功能,如集合、网络、I/O等。 3. JVM运作原理 JVM是Java平台的核心,它实现了Java的跨平台特性。JVM通过加载、验证、准备、解析、...

    Java学习笔记,以脑图的形式展示方便记忆。已有笔记【MySQL,Redis,JVM,操作系统】持续更新中.zip

    JVM是Java程序运行的基础,它负责解释和执行字节码。这部分笔记会深入解析JVM的工作原理,如类加载机制、内存模型(堆、栈、方法区等)、垃圾收集机制和性能调优策略。通过理解JVM,开发者能更好地优化代码,减少...

    jdk6.0学习笔记

    - JVM 是一个可以执行 Java 字节码的虚拟机。 - 它负责将 Java 字节码转换为特定平台的机器码,并且管理内存、垃圾回收等任务。 - **Java 运行环境 (JRE)** - JRE 包含了运行 Java 应用程序所需的所有组件,包括...

    JVM的学习笔记PDF版

    5. **字节码执行**:JVM通过解释器将字节码转换为机器码执行,为了提高性能,JVM还实现了Just-In-Time(JIT)编译器,将热点代码编译成本地机器码。 6. **内存调优**:理解和调整JVM内存参数(如-Xms, -Xmx, -Xss等...

Global site tag (gtag.js) - Google Analytics