
JVM
jazon@
芜湖
展开
-
各类GC及触发条件
作者:RednaxelaFX链接:http://www.zhihu.com/question/41922036/answer/93079526来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。作者:无名码者链接:https://www.jianshu.com/p/5f8c3be4ffe5来源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。针对HotSpot VM的实现,它里面的GC其实准确分类只有两大种:Partial GC:并不收集整个G转载 2020-05-10 15:30:54 · 3014 阅读 · 0 评论 -
new一个对象发生了什么之类加载机制
类加载类加载的过程包括了加载、验证、准备、解析、初始化五个阶段。在这五个阶段中,加载、验证、准备和初始化这四个阶段发生的顺序是确定的,而解析阶段则不一定,它在某些情况下可以在初始化阶段之后开始。另外注意这里的几个阶段是按顺序开始,而不是按顺序进行或完成,因为这些阶段通常都是互相交叉地混合进行的,通常在一个阶段执行的过程中调用或激活另一个阶段。加载”加载“是”类加机制”的第一个过程,在加载...原创 2020-03-05 21:29:13 · 831 阅读 · 0 评论 -
JVM
java中什么是垃圾?什么是GC Roots简单来说就是内存中不再被使用的对象。通过一系列被称为"GC Root"的对象作为起始点,从这些节点向下搜索,搜索走过的路径就叫引用链,当一个对象到GC root没有任何引用链就是不可达,就是垃圾。可以作为GC root对象的:1.栈中引用的对象2.方法区中类静态属性引用的变量3.方法区中常量引用的对象4.本地方法栈中JNI引用的对象。请问如何盘点查...原创 2020-01-06 22:23:34 · 256 阅读 · 0 评论 -
深入理解Java虚拟机:Java内存区域与内存溢出异常
第二章:Java内存区域与内存溢出异常运行时数据区域:程序计数器、Java虚拟机栈、本地方法栈、Java堆、方法区(java1.6时内含运行时常量池)程序计数器:是一块较小的内存区域,可以看作是当前线程所执行的字节码的行号指示器。是Java虚拟机规范中没有规定任何OutOfMemoryError情况的区域。Java虚拟机栈:虚拟机执行Java方法(也就是字节码,不带native的方法)所用...原创 2019-03-16 16:25:32 · 149 阅读 · 0 评论 -
深入理解Java虚拟机:垃圾收集器与内存分配策略
判断一个对象是否应该被回收引用计数法1.给对象添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值减1;任何时刻计数器为0的对象就是不可能再被使用的。这个方式,不能解决循环引用的问题。可达性分析算法通过一系列称为"GC Roots"的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链,当一个对象到GC Roots没有任何引用链相连时,则证明此对...原创 2019-03-20 22:52:13 · 195 阅读 · 0 评论 -
虚拟机常用指令
jps:显示1系统内所有的HotSpot虚拟机进程jstat:用于收集HotSpot虚拟机各方面的运行数据,-gc监视Java堆状况,已有空间,GC时间合计等信息。-gcutil和-gc差不多,但更关注已使用空间占总空间的百分比。jinfo:显示虚拟机配置信息,例子jinfo -flag CMSInitiatingOccupancyFraction 1444jmap:生成虚拟机内存转储快照(...原创 2019-04-07 12:21:25 · 1403 阅读 · 0 评论 -
Java内存分区
参考:Java虚拟机—栈帧、操作数栈和局部变量表Cyc博客一、运行时数据区域:一、程序计数器:记录正在执行的虚拟机字节码指令的地址(如果正在执行的是本地方法则为空)二、Java虚拟机栈:每个java方法在执行的同时会创建一个栈帧用于存储局部变量、操作数、动态链接、方法返回地址通过-Xss这个虚拟机参数来指定每个线程的Java虚拟机栈内存大小,在JDK1.4中默认是256K,在JDK...原创 2019-06-28 23:16:13 · 165 阅读 · 0 评论