![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
文章平均质量分 93
魔舞清华-方
这个作者很懒,什么都没留下…
展开
-
类的加载器 和 双亲委派机制详解
类的加载器 ClassLoader类加载器是 JVM 执行类加载机制的前提,ClassLoader是Java的核心组件,所有的Class都是由ClassLoader进行加载的ClassLoader负责通过各种方式将Class信息的二进制数据流读入JVM内部,转换为一个与目标类对应的java.lang.Class对象实例。然后交给Java虚拟机进行链接、初始化等操作因此,ClassLoader在整个装载阶段,只能影响到类的加载,而无法通过ClassLoader去改变类的链接和初始化行为。至于它是否可以运原创 2021-09-05 19:04:08 · 1349 阅读 · 1 评论 -
类加载的过程(生命周期)详情分析
class的加载分为好几个阶段 分为 Loading,Linking过程一:Loading(装载)阶段所谓装载,简而言之就是将Java类的字节码文件加载到机器内存中,并在内存中构建出Java类的原型——类模板对象。装载完成的操作装载阶段,简言之,查找并加载类的二进制数据,生成Class的实例。在加载类时,Java虚拟机必须完成以下3件事情:通过类的全名,获取类的二进制数据流。解析类的二进制数据流为方法区内的数据结构(Java类模型)创建java.lang.Class类的实例,表示该类型。原创 2021-09-05 15:03:58 · 549 阅读 · 0 评论 -
JVM垃收集器详解
概述垃圾收集器是垃圾回收算法的落地实现,目前还没有完美的垃圾收集器的出现,更加没有万能的收集器,只是针对具体的应用场景用最合适的垃圾收集器垃圾回收的方式主要有以下几种:Serial:串型垃圾回收器Parallel:并行回收CMS:并发标记清除G1:G1回收串型垃圾回收器(Serial)它是为单线程环境下设计和使用的一个线程进行垃圾回收,会暂停所有的用户线程。所以不会服务器环...原创 2020-04-01 12:26:15 · 188 阅读 · 0 评论 -
JVM垃圾回收算法
垃圾回收算法引用计数法(Reference Counting)所谓引用计数法就是给每一个对象设置一个引用计数器,每当有一个地方引用这个对象时,就将计数器加一,引用失效时,计数器就减一。当一个对象的引用计数器为零时,说明此对象没有被引用,也就是“死对象”,将会被垃圾回收.引用计数法有一个缺陷就是无法解决循环引用问题,也就是说当对象A引用对象B,对象B又引用者对象A,那么此时A,B对象的引用计数...原创 2020-04-01 08:30:47 · 87 阅读 · 0 评论 -
JVM常见报错信息
StackoverFlowErrorStackOverflowError 是一个java中常出现的错误:在jvm运行时的数据区域中有一个java虚拟机栈,当执行java方法时会进行压栈弹栈的操作。在栈中会保存局部变量,操作数栈,方法出口等等。jvm规定了栈的最大深度,当执行时栈的深度大于了规定的深度,就会抛出StackOverflowError错误。代码示例:public class Sta...原创 2020-03-31 15:56:09 · 1543 阅读 · 0 评论 -
Java的强引用,软引用,弱引用,WeakHashMap,ReferenceQueue和虚引用详解
java引用继承结构图:强引用特点:我们平常典型编码Object obj = new Object()中的obj就是强引用。通过关键字new创建的对象所关联的引用就是强引用。当JVM内存空间不足,JVM宁愿抛出OutOfMemoryError运行时错误(OOM),使程序异常终止,也不会靠随意回收具有强引用的“存活”对象来解决内存不足的问题。对于一个普通的对象,如果没有其他的引用关系,只要超...原创 2020-03-31 12:25:43 · 581 阅读 · 0 评论 -
JVM参数配置详解
GC Root为了解决引用计数法的循环引用问题,java使用了可达性分析方法所谓的"GC Root"或者说tracing GC的根集合,就是一组必须活跃的引用。基本思路就是通过一系列名为"GC Root"的对象作为起始点,从这个被称为GC Root的对象开始详细搜索,如果一个对象到GC Root没有任何的引用链时,则说明此对象不可用。也即给定一个集合引用作为根出发,通过引用关系遍历对象图,...原创 2020-03-30 16:50:53 · 2165 阅读 · 1 评论