JVM
文章平均质量分 76
JVM 探索,理论结合实战
b哥救救我
清风拂山岗,明月照大江
展开
-
面试官:说下JVM类加载生命周期
JVM类加载过程类从被加载到虚拟机内存开始到卸载出内存结束,类的生命周期包括:加载在加载阶段,虚拟机主要完成三件事情:通过一个类的全限定名来获取定义此类的二进制字节流。将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据分访问入口。验证这个阶段的目的是为了确保Class文件...原创 2020-04-08 16:24:51 · 156 阅读 · 0 评论 -
JVM垃圾收集器都有哪些?
垃圾收集器HotSpot虚拟机所包含的所有收集器如下(JDK1.7+)新生代包含:Serial,Parnew,Parallel Scavenge ,G1老年代包含:Serial Old,Parallel OLd,CMS,G1Serial收集器是最基本,历史悠久的收集器(JDK1.3.1之前),特点:单线程的收集器。垃圾收集时,必须暂停所有的工作线程,直到它收集结束。能与...原创 2020-04-07 17:56:31 · 174 阅读 · 0 评论 -
分分钟了解对象是否‘已死’
对象已死吗?在堆里面存放的都是java的对象实例,垃圾收集器在对堆进行回收之前,要判断里面的对象哪些还’活着’,哪些已‘死去’。判断对象是否活着(有路径使用的对象)的方法:引用计数器法:给对象添加一个引用计数器,每当有一个地方引用它时,计数器+1。任何时刻计数器为0的对象就是不可能被使用的,这些就会被回收。优点:实现简单,效率也高。缺点:无法解决循环依赖的问题。主流的java虚...原创 2020-04-02 10:03:03 · 174 阅读 · 0 评论 -
你了解OutOfMemoryError吗?
你了解OutOfMemoryError吗?你在开发过程中遇到过OutOfMemoryError 这个异常吗?知道为啥会出现这个异常么?嘿嘿。。。听B哥给你叨叨叨简单明了——此文目的有两个:通过代码验证Java虚拟机中各个区域存储的内容希望读者在工作中遇到了实际的内存溢出时,能根据异常信息快速判断是哪个区域出现内存溢出以及出现溢出后如何处理。首先容我贴个图:上图是JVM虚拟机运行时的...原创 2020-04-01 10:07:53 · 227 阅读 · 1 评论