jvm
文章平均质量分 90
主要讲解jvm的重点知识
一心猿
听从内心 追随直觉
展开
-
JVM——运行时数据区域
一、运行时数据区的结构如上图,运行时数据区包括五个部分,红色区域多个线程共享,灰色区域每一个线程独占,在java API ,一个java虚拟机就对应一个Runtime类,一个Runtime就对应一个运行时数据区。1.1 程序计数器程序计数器用来存储指向下一条指令的地址,也即将要执行的指令代码,由执行引擎读取下一条指令。不会出现OutOfMemoryError情况,也没有GC(垃圾回收) Code: stack=2, locals=4, args_s...原创 2021-12-09 09:58:38 · 4375 阅读 · 2 评论 -
JVM——类加载器
一、类加载器的定义在类加载过程中,通过一个类的全限定名来获取描述该类的二进制字节流,实现这个动作的代码成为“类加载器”。二、类加载器的分类类加载器分为引导类加载器和自定义加载器,从概念上讲,自定义加载器一般是指程序中由开发人员自定义的一类加载器,在java虚拟机规范中,定义自定义加载器是指将继承ClassLoader的类加载器都划分为自定义类加载器。三、双亲委派模型上面类加载器的分类是站在Java虚拟机的角度分的,但是站在Java开发人员的角度来看,要分为三层类加载器,如图.原创 2021-11-24 15:41:03 · 240 阅读 · 0 评论 -
JVM——类加载过程
类加载过程一共分三个阶段,第一个阶段是加载,然后是链接,最后是初始化,如下图一、加载加载是类加载的第一个过程,在加载阶段,Java虚拟机需要完成以下三件事:(1)通过一个类的全限定名来获取定义此类的二进制字节流(2)通过这个字节流所代表的静态存储结构转化为方法区的运行时数据结构(3)在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的访问入口二、链接链接阶段又要分三个小阶段,分别是验证、准备和解析。1.验证验...原创 2021-11-24 11:50:30 · 1902 阅读 · 0 评论