JVM学习

【JVM学习】7.JVM调优 【JVM学习】7.JVM调优
1 前言本章将主要介绍调优工具及各自的使用方法,最后给出实战案例。 2 工具2.1 JDK工具假如你自己手动安装过JDK,那一定不会对下表中的工具感到陌生。比如用的最多的java。 Windows下的JDK工具集合 不同平台,其对应的名字
2023-07-10
【JVM学习】6.玩转类加载与类加载器 【JVM学习】6.玩转类加载与类加载器
0 前言在【JVM学习】3.JVM中的对象一文中,我们给出了一个JVM对象的详细创建流程,整个流程图如下: JVM对象的创建过程 本章将会对类的加载过程及常见的类加载器做出详细梳理和介绍。 1 类的生命周期类从被加载到虚拟机内存中开始,到
2023-07-07
【JVM学习】5.HostSpot的细节 【JVM学习】5.HostSpot的细节
1 前言前一章节介绍了常见的对象存活判定算法和垃圾收集算法,里面提到了很多专有名词,这一章节主要就这些专有名词,加上自己的理解进行详细介绍。 2 三色标记(Tri-color Marking)在三色标记法之前有一个算法叫Mark-And-S
2023-06-30
【JVM学习】4.垃圾回收机制及算法 【JVM学习】4.垃圾回收机制及算法
1 定义垃圾收集器(Garbage Collector,下文简称GC)。 程序计数器、虚拟机栈、本地方法栈随线程而生,也随线程而灭; 栈帧随着方法的开始而入栈,随着方法的结束而出栈。这几个区域的内存分配和回收都具有确定性,在这几个区域内不需
2023-06-28
【JVM学习】3.JVM中的对象 【JVM学习】3.JVM中的对象
1 JVM 中对象的创建过程主要包括以下几个过程:检查加载、内存分配、内存空间初始化、设置、对象初始化。 1.1 检查加载当Java虚拟机遇到一条字节码new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查
2023-06-27
【JVM学习】2.内存区域 【JVM学习】2.内存区域
1 运行时数据区域在 JVM 中,JVM 内存主要分为堆、程序计数器、方法区、虚拟机栈和本地方法栈等。 按照与线程的关系也可以这么划分区域: 线程私有区域:一个线程拥有单独的一份内存区域。 线程共享区域:被所有线程共享,且只有一份。JVM
2023-06-26
【JVM学习】1.JVM基础知识 【JVM学习】1.JVM基础知识
1 JVM 从编译到执行首先给出基于JDK8的JAVA SE产品组件,里面包含了JDK,JRE,JVM三者之间的关系: the components of Oracle's Java SE products JVM:Java Virtua
2023-06-26