![](https://img-blog.csdnimg.cn/20201220130229299.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
JVM
文章平均质量分 91
虚拟机
XH雪浪风尘
Java咸鱼
展开
-
Java的类加载过程与双亲委派模型
类加载 Java的类加载过程中涉及到双亲委派模型,而提到双亲委派模型又免不了讨论类的加载过程,所以这两者放到一块了解更加合适。 Java的类加载过程可以分为三个步骤:加载、连接、初始化。其中连接过程又可以分为验证、准备、解析三个步骤。在这里我画了个图更加方便展示: 所以我们接下来就围绕加载、连接、初始化这三个部分来看一下整个的类加载过程。 加载阶段 类加载的第一个阶段,在此阶段,JVM虚拟机会完成下面的三个步骤: 1、通过一个类的全限定名来获取其定义的二进制字节流。 2、将这个字节流所代表的静态存储结构转化原创 2021-01-28 08:22:22 · 363 阅读 · 0 评论 -
一文掌握JVM常见垃圾回收算法与垃圾收集器
从垃圾回收算法、垃圾收集器,这字面意思上来看,都是是围绕垃圾这个名词展示的,那么啥是垃圾呢? 垃圾定义 我们日常生活中是怎么定义垃圾的呢?对于那些不需要用的东西称为垃圾,不然都放在屋里那怎么受的了。对于JVM也是这样的,垃圾就是在程序运行时没有任何指针指向的对象就是垃圾。因为不需要使用它了,留着它也是占内存,赶紧把它清除掉为别的对象腾放空间。 那我怎么知道一个对象是不是垃圾呢?万一把还需要用的对象给清除掉了,那也不是太好啊。所以我们需要一定的方法来确认这个对象是否被引用,进而来确认是否要删除。 两种标识算法原创 2021-01-10 21:20:39 · 299 阅读 · 0 评论 -
JVM认知(二)
方法区 还是这个示意图,方法区有什么作用?方法区就是存放常量、静态变量、类信息的地方。 我们的Java代码,运行之后,通过类装载子系统装载到运行时数据区,其实主要就是加载到方法区中,这也就是类信息。然后再进行一系列操作,而这一切字节码的执行,都是由字节码执行引擎完成的。 常量和静态变量就不用过多解释。 在上一篇中的代码: package com.hpu.dong; public class t...原创 2020-02-01 18:10:03 · 335 阅读 · 0 评论 -
JVM认知(一)
接下来的几篇博客只是对JVM的一个简单认知,主要是对JVM的组成部分以及程序的运行流程的一个介绍,并没有深入到每一个层次的每一个点,如果有错或者以后掌握到更深入层次的知识后,还会更新的。 JVM:Java Virtual Machine(Java虚拟机) 先看一张图,在最开始接触Java的时候的HelloWorld的运行: 我们编写的Java文件,经过javac指令,编译成为class字节码文件...原创 2020-02-01 15:01:23 · 374 阅读 · 0 评论