深入学习JVM
文章平均质量分 91
学习JVM的知识点,包括类加载机制,内存区域划分,分代模型,垃圾回收机制,垃圾回收器,GC流程,JVM参数配置与优化
湘水友独
coding
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JVM学习笔记
Java程序是如何运行起来的编写java代码编译java代码,编译成class字节码文件JVM类加载器加载class文件JVM字节码执行引擎执行class文件类加载器JVM通过类加载器加载class字节码文件类加载过程加载—》验证—》准备—》解析—》初始化—》使用—》卸载加载:按需加载,当代码中用到这个类的时候验证阶段:根据JVM规范,验证加载进来的class文件是否符合规范,内容是否完整【核心】准备阶段:给类分配内存空间,给static变量分配内存空间,设置初始原创 2021-05-04 16:39:49 · 329 阅读 · 1 评论 -
JVM类加载机制
我们都知道自己编写的Java程序编译成".class"文件后是需要加载到虚拟机中之后才能运行和使用。那么虚拟机是如何加载这些class文件的呢?类的生命周期类从被加载到虚拟机开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载7个阶段。加载–>验证–>准备–>初始化–>卸载,这五个阶段的顺序是确定的,类的加载过程必须按照这种顺序按...原创 2020-04-07 23:10:25 · 134 阅读 · 0 评论 -
Java虚拟机内存结构
当我们将类加载到JVM中后,JVM会将内存划分为不同的数据区域,不同的区域有不同的用途,主要包括以下几个运行时数据区域,如下图所示。方法区方法区是在JDK1.8以前版本里的一块内存区域,是线程共享的内存区域。用于存储被虚拟机加载进来的类信息、常量、静态变量、即时编译器编译后的代码等数据,有个别名叫做NonHeap(非堆),目的是与Java堆区分开来。但在JDK1.8以后,这块区域的名字改了...原创 2020-04-06 15:56:07 · 133 阅读 · 0 评论
分享