![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
jvm
文章平均质量分 75
动如参商
认真且怂,从一而终……
展开
-
JVM内存结构-程序计数器(PC寄存器)
在JVM中,程序计数器(Program Counter,PC寄存器)的作用是跟踪当前线程正在执行的字节码指令的位置。很多地方解释说程序计数器存储的是“下一条指令”的地址,这是一个容易引起误解的描述。程序计数器在JVM中是一个线程私有的寄存器,用于记录当前执行的字节码指令地址。通过程序计数器,JVM能够精确地控制每个线程的执行流,确保程序的正确性和高效性。1,基于寄存器,高速,容量小,只需要存储一个地址或一个固定大小的标记,不会发生OOM;正在执行的指令的地址或行号,这样可以更清楚地理解它的工作原理。原创 2024-06-26 10:55:52 · 471 阅读 · 0 评论 -
java中的编译--后端编译
采样频率:JVM在运行时周期性地(比如每隔几毫秒)中断程序执行,检查当前所有线程的调用栈状态。这一过程被称为采样。调用栈分析:在每次采样时,JVM会记录每个线程当前的调用栈顶部的信息,包括所在方法、行号等。这些信息反映了程序在采样时刻的执行状态。热点识别:通过对多个采样点收集的数据进行统计分析,JVM可以识别出哪些方法或代码块经常出现在调用栈的顶部,即被频繁调用。这些频繁出现的方法被认为是热点代码。计数与权重。原创 2024-06-26 10:54:42 · 367 阅读 · 0 评论 -
JVM内存结构-堆
1,一个jvm进程,只存在一个堆内存,堆也是java内存管理的核心区域。2,堆区,在jvm启动的时候就被创建,大小固定。3,《java虚拟机规范》规定,堆可以处在物理上不连续的空间中,但在逻辑上它应该是视为连续的。4,线程共享堆空间,其中tlab区域为线程独享。5,几乎所有的对象实例以及数组都应当在运行时分配在堆上。(逃逸分析-》栈上分配)6,垃圾回收主要是对堆内存进行回收。原创 2024-06-26 10:58:17 · 1183 阅读 · 1 评论 -
JVM内存结构-本地方法栈
原创 2024-06-26 10:57:20 · 105 阅读 · 0 评论 -
JVM内存结构-虚拟机栈
1,虚拟机栈是JVM在运行Java应用程序时为每个线程创建的一个内存区域。2,它是线程私有的,即每个线程都有自己的Java虚拟机栈。3,每个栈由多个栈帧组成,每个栈帧对应调用该方法时占用的内存空间。4,每个栈只有一个活动栈帧,对应着当前正在执行的方法。原创 2024-06-26 10:56:48 · 539 阅读 · 0 评论 -
java中的编译-前端编译
前端编译过程是指将源代码转换为目标代码的过程。在Java中,这个过程主要由Java编译器(javac)完成。原创 2024-06-26 10:53:59 · 610 阅读 · 0 评论 -
java中的编译
由高级语言转换为低级语言的过程,就是编译负责编译的工具,就叫编译器。原创 2024-06-26 10:53:09 · 482 阅读 · 0 评论