JVM
文章平均质量分 75
HanJuly9569
热衷于探索世界的程序猿一枚…
展开
-
JVM 垃圾回收器
个人总结以官网为准,如有错误欢迎指出从思考问题开始如果你(运行的程序)在房间(内存)里不断的产生垃圾(可清除的对象),并且你青春期脾气不好,妈妈不想跟你小屁孩计较(避免打扰用户程序,减少stop the word),那妈妈会怎么做才能到达快速,并且不影响你打游戏?首先妈妈会进去看一眼,有哪些需要处理的垃圾,然后离开然后妈妈拿到工具,进入房间,把你骂出房间,快速处理再让你回来以上妈妈的行为在垃圾回收的过程中,映射为首先标记对象,然后stop the world 清理垃圾,然后恢复程序.原创 2021-05-10 00:29:20 · 94 阅读 · 0 评论 -
JVM GC原理
1.对象怎么判定已死:1.对象引用计数法每个对象都有一个引用计数器,当引用计数器归零时,即可判定对象已死。但是在互相引用的情况下,无法判定他们是否已死。2.图论(节点不可达)从GC root对象开始,如果发现有一个点,或者一个区域不可达,即判定这个区域的对象已死。GC ROOT对象:1.方法区静态变量的对象引用的对象。2.方法区常量引用的对象引用的对象。3.方法栈中局部变量表中的对象引用的对象。4.本地方法栈的对象引用的对象。2.方法区回收:1.常量回收没其他地方引用这个字面量了。.原创 2021-05-09 23:01:06 · 192 阅读 · 1 评论 -
JVM内存模型
图片引用他人,如有侵权,告知即删。1.程序计数器:1.线程私有。2.在jvm文档中没有定义OOM。3.用户代码推进器,不作用于native源码。4.用来分支,循环,跳转,异常处理等代码流程结构。2.虚拟机栈(方法栈)1.线程私有。2.StackOverFlowError&&OutOfMemoryError。3.一个方法就是一个栈帧,栈帧的出入栈表示方法的执行。4.栈帧上包含局部变量表,动态链接,操作数栈,方法出口信息。5.逃逸分析的介入,对象也可能分配到栈帧上,跟.原创 2021-05-09 22:56:40 · 133 阅读 · 1 评论