
JVM
文章平均质量分 89
JVM
犬豪
行我所行,无问西东
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
堆内存、本地内存、堆外内存、直接内存的区别
在实际开发中,当你提到“堆外内存”时,通常指的是你通过编程手段(如 Direct ByteBuffer 或其他方式)显式分配的内存;Metaspace 报告的已提交和已保留空间中,包含了压缩类空间的已提交和已保留空间。MaxMetaspaceSize 设置了这两块区域(压缩类空间的已提交空间和类元数据空间)的总提交大小的上限。因此,在大多数情况下,堆外内存和本地内存可以视为相同的概念,但在具体场景下,它们的侧重点有所不同。你可以认为堆外内存是本地内存的一个子集,专门用于应用程序显式管理和使用的内存区域。原创 2025-04-09 16:12:36 · 690 阅读 · 0 评论 -
JVM原理(二)执行引擎篇(JVM程序执行流程、JIT编译器、JIT编译器优化)
一、程序执行流程1.1 执行流程图Java编译成字节码、动态编译和解释为机器码的过程分析:编译器和解释器的协调工作流程:判断是否是热点数据,不是逐条解释成机器码执行,否则一次性编译成机器码存到方法区,以后每次直接运行机器码在部分商用虚拟机中(如HotSpot),Java程序最初是通过解释器(Interpreter)进行解释执行的,当虚拟机发现某个方法或代码块的运行特别频繁时,就会把这些代码认定为“热点代码”。为了提高热点代码的执行效率,在运行时,虚拟机将会把这些代码编译成与本地平台相关的机器码原创 2021-02-28 17:54:17 · 1675 阅读 · 0 评论 -
JVM原理(一)JVM通识、JVM架构
一、初识JVM1.1 学习JVM的目的面试重灾区,我们必须搞懂它。生产过程中,肯定会面临JVM调优相关问题,需要也必须搞懂它。打基础,想搞懂我们java赖以生存的环境长什么样子,提升对Java知识点的理解。1.2 JVM基本常识1.2.1 为什么使用JVM看下面这个图:可以看到JVM帮我们屏蔽了操作系统。与C语言的区别:C语言可以直接编译成机器码,但是编译机器码时需要知道目标操作系统,windows操作系统机器码编译之后是无法在linux系统上执行即C语言多次运行不同的操作系原创 2021-02-21 16:12:25 · 18297 阅读 · 3 评论 -
JVM类加载机制超详细知识梳理
主要通过以下几篇博客的学习,整理了一个思维导图:JVM类生命周期概述:加载时机与加载过程深入理解Java对象的创建过程:类的初始化与实例化深入理解Java类加载器(一):Java类加载原理解析双亲委派模型与线程上下文类加载器链接: https://pan.baidu.com/s/1H6WrAvVtKkctgKfWJk16bg 提取码: 84ni...原创 2020-02-07 15:22:32 · 362 阅读 · 0 评论