![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
文章平均质量分 91
高电平
面向Tab编程,Copilot真香
展开
-
JVM详解【三】JVM的内存结构
JVM的内存区域 JVM的内存区域分为线程私有区域(程序计数器、虚拟机栈、本地方法区)、线程共享区域(堆、方法区)和直接内存,如图所示 线程私有区域的生命周期与线程相同,随线程启动而创建,随线程结束而销毁。在JVM内部,每个线程都与操作系统的本地线程直接映射,因此线程私有内存区域的存在与否,和本地线程的启动和销毁对应。 线程共享区域随虚拟机启动而创建,随虚拟机的关闭而销毁。 直接内存也叫堆外内存,它并不是JVM运行时数据区的一部分,但在并发编程中被频繁使用。JDK的NIO模块提供的原创 2022-04-10 18:35:26 · 3494 阅读 · 0 评论 -
JVM详解【五】JVM的类加载机制
JVM的类加载机制Java类加载机制的定义 把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型。在Java语言里,类型的加载、连接和初始化过程都是在程序运行期间完成的,这种策略虽然会令类加载时稍微增加一些性能开销,但是会为Java应用程序提供高度的灵活性,Java里天生可以动态扩展的语言特性就是依赖运行期动态加载和动态连接这个特点来实现的。JVM的类加载阶段 JVM的类加载分为5个阶段:加载、验证、准备、解析和初始化。在类原创 2022-04-15 22:18:18 · 3097 阅读 · 0 评论 -
JVM详解【四】垃圾回收与算法
垃圾回收与算法如何确定垃圾 Java采用引用计数法和可达性分析法来确定对象是否应该被回收,其中,引用计数法容易产生循环引用的问题,可达性分析法通过根搜索算法(GC Roots Tracing)来实现。根搜索算法以一系列GC Roots的点作为起点向下搜索,在一个对象到到任何GC Roots都没有引用链相连时,说明其已经死亡。根搜索算法主要针对栈中的引用、方法区的静态引用和JNI中的引用展开分析,如图所示:引用计数法 在Java中如果要操作对象,就必须先获取对象的引用,因此可以通过引用计数法原创 2022-04-17 20:07:18 · 270 阅读 · 0 评论