![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
文章平均质量分 89
ordinaryBlog
offer offer快快来
展开
-
Java 类加载器
JVM 类加载器类加载器类加载器种类双亲委派模型双亲委派模型要求工作过程双亲委派模型的优点什么情况下会破坏双亲委派模型类加载器作用:用于实现类的加载动作即将字节码文件从 JVM 外部加载到内存中用于确定类的唯一性提供隔离特性,为中间件开发者提供便利类加载器种类Bootstrap Class Loader(启动类加载器)最顶层的加载器,由 C++ 实现,负责加载 %JAVA_HOME%\lib 目录下的 或者是被 -Xbootclasspath参数所指定的路径存放的类库Ext原创 2022-03-12 10:52:19 · 481 阅读 · 0 评论 -
类加载过程
类加载过程类的加载过程详情类的生命周期类的加载过程加载验证文件格式验证元数据验证字节码验证符号引用验证准备解析符号引用直接引用初始化`()` 方法是如何产生的在什么情况下必须对类进行初始化卸载类的加载过程详情类的生命周期加载 —>连接 (验证 —> 准备 —> 解析)—> 初始化 —>使用 —>卸载类的加载过程Class 文件需要加载到虚拟机中之后才能够运行和使用类加载的全过程:加载、验证、准备、解析、初始化加载在加载阶段虚拟机需要完成一下三件事:通过原创 2022-03-10 18:15:11 · 240 阅读 · 0 评论 -
Java 对象的创建过程、内存布局以及访问定位
类加载检查 --->内存分配 --->初始化零值 ---> 设置对象头 ---> 执行 init() 方法原创 2022-03-08 16:32:06 · 341 阅读 · 0 评论 -
Java 内存区域
Java的内存区域Java 内存区域运行时数据区域程序计数器Java 虚拟机栈局部变量表Java 虚拟机栈的两类异常情况本地方法栈堆方法区方法区和永久代关系为什么会将永久代替换为元空间运行时常量池直接内存Java 内存区域运行时数据区域线程私有程序计数器虚拟机栈本地方法栈线程共享堆方法区程序计数器程序计数器是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。字节码解释器工作时通过改变这个计数器的值来选取下一条需要执行的字节码指令,它是程序控制流的指示器,分支、循原创 2022-03-08 14:01:10 · 649 阅读 · 0 评论 -
Java 虚拟机的垃圾回收机制
Java 虚拟机的垃圾回收机制JVM的垃圾回收如何判断对象已死可作为 GC Roots 的对象:引用引用队列回收方法区常量的回收不再使用的类型的回收垃圾回收算法标记清除算法标记复制算法标记整理算法关于是否移动对象JVM的垃圾回收如何判断对象已死共有两种方法:引用计数算法在对象中添加一个引用计数器,当有地方引用它时,计数器加一;引用失效时,计数器就减一;任何时候计数器为零的对象就是不可能再被使用的优点:实现简单,效率高缺点:单纯的引用计数很难解决对象之间相互引用的问题当两个对象相互引用时原创 2022-03-01 20:19:47 · 476 阅读 · 0 评论