- 文章目录 Pre Code 分析GC日志 分析内存快照 小结 Pre Metaspace区域内存溢出 。 我们先分析一下GC日志,然后再让JVM... 文章目录 Pre Code 分析GC日志 分析内存快照 小结 Pre Metaspace区域内存溢出 。 我们先分析一下GC日志,然后再让JVM...
- 注:本文参考自周志明老师的著作《深入理解Java虚拟机(第3版)》,相关电子书可以关注WX公众号,回复 001 获取。 Java虚拟机以方法作为最基本的执行单元,“栈帧”(Stack Fram... 注:本文参考自周志明老师的著作《深入理解Java虚拟机(第3版)》,相关电子书可以关注WX公众号,回复 001 获取。 Java虚拟机以方法作为最基本的执行单元,“栈帧”(Stack Fram...
- 转载地址http://zyjustin9.iteye.com/blog/2092131 深入研究Java类加载机制 类加载是Java程序运行的第一步,研究类的加载有助于了解JVM执行过程,并指导开发者采取更有效的措施配合程序执行。 研究类加载机制的第二个目的是让程序能动态的控制类加... 转载地址http://zyjustin9.iteye.com/blog/2092131 深入研究Java类加载机制 类加载是Java程序运行的第一步,研究类的加载有助于了解JVM执行过程,并指导开发者采取更有效的措施配合程序执行。 研究类加载机制的第二个目的是让程序能动态的控制类加...
- 注:本文参考自周志明老师的著作《深入理解Java虚拟机(第3版)》,相关电子书可以关注WX公众号,回复 001 获取。 Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验... 注:本文参考自周志明老师的著作《深入理解Java虚拟机(第3版)》,相关电子书可以关注WX公众号,回复 001 获取。 Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验...
- 注:本文参考自周志明老师的著作《深入理解Java虚拟机(第3版)》,相关电子书可以关注WX公众号,回复 001 获取。 如果说收集算法是内存回收的方法论,那垃圾收集器就是内存回收的实践者。《J... 注:本文参考自周志明老师的著作《深入理解Java虚拟机(第3版)》,相关电子书可以关注WX公众号,回复 001 获取。 如果说收集算法是内存回收的方法论,那垃圾收集器就是内存回收的实践者。《J...
- 系列博客专栏: JVM系列博客专栏SpringBoot系列博客 1、什么是Java反射机制? 在程序运行中动态地获取类的相关属性,同时调用对象的方法和获取属性,这种机制被称之为Java反射机制 下面给出一个反射的简单例子: import lombok.Data; @Data public class User { public String usernam... 系列博客专栏: JVM系列博客专栏SpringBoot系列博客 1、什么是Java反射机制? 在程序运行中动态地获取类的相关属性,同时调用对象的方法和获取属性,这种机制被称之为Java反射机制 下面给出一个反射的简单例子: import lombok.Data; @Data public class User { public String usernam...
- 1 JVM基本结构 1)类加载器classLoader:在JVM启动时或者类运行时将需要的.class文件加载到内存中 2)内存区域(运行时数据区): 是在JVM运行的时候操作所分配的内存区 3)执行引擎:负责执行class文件中包含的字节码指令 4)本地方法接口:主要是调用C/C++实现的本地方法及返回结果 ... 1 JVM基本结构 1)类加载器classLoader:在JVM启动时或者类运行时将需要的.class文件加载到内存中 2)内存区域(运行时数据区): 是在JVM运行的时候操作所分配的内存区 3)执行引擎:负责执行class文件中包含的字节码指令 4)本地方法接口:主要是调用C/C++实现的本地方法及返回结果 ...
- 你或许也知道,正是JVM( Java Virtusal Machine,Java虚拟机)使得Java成为遵循“一次编写,处处运行”的范例。JVM包括如下核心组件: 堆栈持久代及方法区JIT编译器代码缓存 堆是你的应用程序代码中new操作符分配内存的地方。栈存储的是你在某个方法作用域内要进行赋值的那些本地变量。有一点需要注意的是,方法作用域内所定义的变量在方法结束后将会被删... 你或许也知道,正是JVM( Java Virtusal Machine,Java虚拟机)使得Java成为遵循“一次编写,处处运行”的范例。JVM包括如下核心组件: 堆栈持久代及方法区JIT编译器代码缓存 堆是你的应用程序代码中new操作符分配内存的地方。栈存储的是你在某个方法作用域内要进行赋值的那些本地变量。有一点需要注意的是,方法作用域内所定义的变量在方法结束后将会被删...
- 1.条件判断指令 指令助记符含义0x99ifeq判断是否 == 00x9aifne判断是否 != 00x9biflt判断是否 < 00x9cifge判断是否 >= 00x9difgt判断是否 > 00x9eifle判断是否 <= 00x9fif_icmpeq两个int是否 ==0xa0if_icmpne两个int是否 !=0xa1if_icmp... 1.条件判断指令 指令助记符含义0x99ifeq判断是否 == 00x9aifne判断是否 != 00x9biflt判断是否 < 00x9cifge判断是否 >= 00x9difgt判断是否 > 00x9eifle判断是否 <= 00x9fif_icmpeq两个int是否 ==0xa0if_icmpne两个int是否 !=0xa1if_icmp...
- GC 调优 预备知识: GC相关的VM参数:官方文档 查看虚拟机参数命令: "C:\Program Files\Java\jdk1.8.0_201\bin\java" -XX:+PrintFlagsFinal -version | findstr "GC" 1 D:\Note\笔记\JDK源码学习\IDEA-workspace\jdk8>"C:\... GC 调优 预备知识: GC相关的VM参数:官方文档 查看虚拟机参数命令: "C:\Program Files\Java\jdk1.8.0_201\bin\java" -XX:+PrintFlagsFinal -version | findstr "GC" 1 D:\Note\笔记\JDK源码学习\IDEA-workspace\jdk8>"C:\...
- JVM系列之内存模型(Java Memory Model) 1. 内存模型和运行时数据区 在上一章的学习中,我们照着岗位学习了java虚拟机运行时数据区,这一章学习java虚拟机内存模型(Java Virtual machine menory model),可以这样理解,jvm运行时数据库是一种规范,而JVM内存模型是对改规范的实现 java虚拟机重点存储数据的... JVM系列之内存模型(Java Memory Model) 1. 内存模型和运行时数据区 在上一章的学习中,我们照着岗位学习了java虚拟机运行时数据区,这一章学习java虚拟机内存模型(Java Virtual machine menory model),可以这样理解,jvm运行时数据库是一种规范,而JVM内存模型是对改规范的实现 java虚拟机重点存储数据的...
- 1 程序主入口 src/java.base/share/native/launcher/main.c main函数返回了JLI_Launch()函数,位于 src/java.base/share/native/libjli/java.c 2 java.c # JLI_Launch() JavaMain()是Java主程序的native调用。 在该方法里会执行... 1 程序主入口 src/java.base/share/native/launcher/main.c main函数返回了JLI_Launch()函数,位于 src/java.base/share/native/libjli/java.c 2 java.c # JLI_Launch() JavaMain()是Java主程序的native调用。 在该方法里会执行...
- JVM是由一个对应角色的oop对象来描述Java对象 instanceOopDesc用来描述普通实例对象 arrayOopDesc用来描述数组对象 这些类型的oop对象均是继承自oopDesc。 oopDesc主要包含 _mark _mark是一个markOop实例,它描述了一个对象的头信息,用于存储对象的运行时记录信息,如哈希值、GC分代年龄、锁状态标志、线程持... JVM是由一个对应角色的oop对象来描述Java对象 instanceOopDesc用来描述普通实例对象 arrayOopDesc用来描述数组对象 这些类型的oop对象均是继承自oopDesc。 oopDesc主要包含 _mark _mark是一个markOop实例,它描述了一个对象的头信息,用于存储对象的运行时记录信息,如哈希值、GC分代年龄、锁状态标志、线程持...
- 简介 miniJVM 作为一个 mini 的 Java VM,实现了 Switch 解释器,并不支持主流 JVM 的 JIT 或者更为复杂的 AOT。但这样对于我们了解字节码的执行已经足够了。 字节码指令 基于堆栈 字节码指令类似于汇编指令,但是不同的是: 一行汇编代码的格式一般都是 – opcode 操作数1 操作数2然而字节码指令格式是 opcode + 栈 字... 简介 miniJVM 作为一个 mini 的 Java VM,实现了 Switch 解释器,并不支持主流 JVM 的 JIT 或者更为复杂的 AOT。但这样对于我们了解字节码的执行已经足够了。 字节码指令 基于堆栈 字节码指令类似于汇编指令,但是不同的是: 一行汇编代码的格式一般都是 – opcode 操作数1 操作数2然而字节码指令格式是 opcode + 栈 字...
- 大部分的Java对象只存活一小段时间,而存活下来的小部分Java对象则会存活很长一段时间 pmd中Java对象生命周期的直方图,红色的表示被逃逸分析优化掉的对象 之所以要提到这个假设,是因为它造就了Java虚拟机的分代回收思想 就是将堆空间划分为两代,分别叫做新生代和老年代新生代用来存储新建的对象当对象存活时间够长时,则将其移动到老年代 Java虚拟机可以给不同... 大部分的Java对象只存活一小段时间,而存活下来的小部分Java对象则会存活很长一段时间 pmd中Java对象生命周期的直方图,红色的表示被逃逸分析优化掉的对象 之所以要提到这个假设,是因为它造就了Java虚拟机的分代回收思想 就是将堆空间划分为两代,分别叫做新生代和老年代新生代用来存储新建的对象当对象存活时间够长时,则将其移动到老年代 Java虚拟机可以给不同...
上滑加载中
推荐直播
-
华为云码道 × 仓颉编程:工程化AI编码探索2026/05/27 周三 19:00-21:00
刘俊杰-华为云仓颉语言专家/李炎-华为云码道技术专家/王智鹏-OpenCangjie开源社区发起人
本场直播围绕华为云仓颉语言与华为云码道的深度结合,展示华为云智能编程从零基础到高效落地的完整生态能力。以华为云码道为引擎,仓颉语言为载体,带给大家日常提效、趣味创新到极速量产的开发体验。
回顾中 -
一个AI团队帮你写代码:华为云码道Agent Space实战2026/06/25 周四 19:00-21:00
张翰文-华为云码道工程师/郭英旭-青软创新科技集团股份有限公司 软件架构师
本场直播聚焦华为云码道Agent Space两大模式:研发办公、代码开发,亲身体验从需求到代码的AI自动化能力。实操演示基于华为 CodeArts CLI,依托 OpenSpec 规格体系从零搭建业务项目。
回顾中
热门标签