1.程序计数器:指向当前线程执行的字节码指令文件的地址和行号 为了在cpu将线程挂起,进行线程切换时,能够记录当前线程的执行进程,正确安全的执行完.2.虚拟机栈:(存储当前线程运行的方法的栈帧,只有等方法执行完栈帧才会出栈) 测试看在同一给方法中的多个方法. 用来执行对应的方法所需的数据,通过对方法 ...
分类:
其他好文 时间:
2020-03-22 14:06:10
阅读次数:
66
VM 概念模型 1:程序计数器(Program Counter Register) (1)比喻:可以看做为线程所执行的字节码的行号显示器 (2)与线程的关系:每个线程都有自己的程序计数器 (3)作用:存放当前线程正在执行的虚拟机字节码指令地址 2:虚拟机栈(VM Stack) 帧栈 (1) 释义:每 ...
分类:
其他好文 时间:
2020-03-11 01:09:53
阅读次数:
53
JVM第一弹基本概念JVM是可运行java代码的假想计算机,包括一套字节码指令集,一组寄存器,一个栈,一个垃圾回收、堆和一个存储方法域。JVM是运行在操作系统之上的,它与硬件没有直接的交互。运行过程我们都知道Java代码源文件,通过编译器能够产生相应的.Class字节码文件,而字节码文件又通过Java虚拟机中的解释器,编译成特定机器上的机器码。①Java源文件——>编译器——>字节码文
分类:
其他好文 时间:
2020-02-04 12:18:29
阅读次数:
64
对应指令码 助记符 说明 0x00 nop 什么都不做 0x01 aconst_null 将null推送至栈顶 0x02 iconst_m1 将int型 1推送至栈顶 0x03 iconst_0 将int型0推送至栈顶 0x04 iconst_1 将int型1推送至栈顶 0x05 iconst_2 ...
分类:
其他好文 时间:
2020-01-01 16:40:27
阅读次数:
61
JVM - (1) 概念:是运行在操作系统之上, ,包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收,堆和一个存储方法域。 - (2) 运行:Java源文(.java)——>编译器(.class)——>字节码文件——>JVM(解释器)——>机器码 2.1. 线程 当线程本地存储、缓冲区分配、同 ...
分类:
其他好文 时间:
2019-12-24 11:43:26
阅读次数:
75
1、程序计数器(Program Counter Register): (1)、概念:一块较小的内存空间,可以看做当前线程所执行的字节码的行号指示器。 (2)、用途:字节码解释器工作的时候通过这个计数器的值选取下一条执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要这个计数器来完成 ...
分类:
编程语言 时间:
2019-11-23 12:47:16
阅读次数:
74
[TOC] 字节码指令 Java虚拟机的指令由一个字节长度的、代表着某种特定操作含义的数字(称为操作码,Opcode)以及跟随其后的零至多个代表此操作所需参数(称为操作数,Operands)构成。Java虚拟机采用面向操作数栈而不是面向寄存器的架构,所以大多数指令都不包含操作数,只有一个操作码。 J ...
分类:
编程语言 时间:
2019-11-18 10:04:32
阅读次数:
111
良心制作,JVM原理速记复习Java虚拟机总结思维导图面试必备。
一、运行时数据区域
线程私有
程序计数器
记录正在执行的虚拟机字节码指令的地址(如果正在执行的是Native方法则为空),是唯一一个没有规定OOM(OutOfMemoryError)的区域。
Java虚拟机栈
每个Java方法在执... ...
分类:
编程语言 时间:
2019-11-16 23:46:01
阅读次数:
156
程序计数器 线程私有 指向了正在执行的虚拟机字节码指令的地址;如果是本地方法,数值为空 没有 OutOfMemoryError 错误的区域 Java虚拟机栈 线程私有; 生命周期与线程相同; 代表着 Java 方法执行的内存模型:每个方法执行时的同时会创建一个栈帧(Stack Frame)用于存放 ...
分类:
其他好文 时间:
2019-11-12 21:53:42
阅读次数:
122
JVM的类加载阶段中初始化阶段 P210 虚拟机规定的五种情况必须对类的“初始化”情况 1.遇到new、getstatic、putstatic、或invokestic 四条字节码指令时,如果类没有经过初始化,则需要先触发使其初始化,生成这四条指令的最常见的java代码场景时:使用new关键字实例化对 ...
分类:
其他好文 时间:
2019-11-02 15:49:57
阅读次数:
94