JVM
面试中常问的JVM知识总结
白色小衬衫
这个作者很懒,什么都没留下…
展开
-
JVM内存模型
JVM内存模型JVM内存模型分为两大块:线程私有的、线程共享的线程私有的:程序计数器、虚拟机栈、本地方法栈线程共享的:方法区、堆(主要调优调的就是这个)线程私有的程序计数器每条线程都有一个独立的程序计数器,各条线程之间计数器互不影响,独立存储,保证每个线程切换后能恢复到正确的执行位置,存储当前线程正在执行的Java方法的JVM指令地址,即字节码的行号。如果正在执行Native方法,则这个计数器为空。该内存区域是唯一一个在Java虚拟机规范中没有规定任何OOM情况的内存区域java虚拟机栈是原创 2020-05-19 10:43:59 · 149 阅读 · 0 评论 -
可达性分析算法
可达性分析算法原理通过一系列“GC Roots”对象作为起点进行搜索,如果在“GC Roots”和一个对象之间没有可达路径,则称该对象是不可达的。不可达对象不一定会成为可回收对象。 不可达对象变为可回收对象至少要经过两次标记过程。两次标记后仍然是可回收对象,则将面临回收两次标记:第一次标记为GC Roots的标记过程标记完后,会判断该对象有没有必要执行finalize()方法(重写了该方法),如果执行,该对象会被放置在F-Queue队列中第二次标记是对F-Queue队列中的对象进行小规模的标记,原创 2020-05-19 10:37:27 · 979 阅读 · 0 评论 -
JVM-内存分配与回收策略
3. 内存分配与回收策略1. Minor GC(新生代)触发条件:Eden区满了的时候,会触发Minor GC(复制算法)频率:Minor GC会频繁进行,执行速度一半会很快步骤:Eden区和ServivorFrom区存活的对象复制到ServivorTo区,如果放不下,直接放入老年代。同时将ServivorFrom区的对象年龄+1(年龄到达15(默认)后,会转到老年代)清除Eden...原创 2020-04-09 09:42:19 · 365 阅读 · 0 评论 -
JVM-垃圾回收器
2. 垃圾收集器HotSpot的七个垃圾收集器[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ty1o29eB-1586396296714)(D:\学习资料\面试知识总结\pic\垃圾收集器.png)]1. Serial用于新生代串行,单线程的执行垃圾回收,会出现STW使用复制算法优点:在单个CPU下,单线程,没有线程切换的开销,因此效率高...原创 2020-04-09 09:39:29 · 95 阅读 · 1 评论 -
JVM-垃圾回收算法
1. 垃圾回收算法一共有三种1. 标记清除算法(Mark-Sweep)标记阶段:程序检查每个对象是否为活动对象,如果是活动对象,则程序在对象头部打上标记清除阶段:对对象进行回收,清除标志位不足:产生大量不连续的内存碎片,可能会导致大对象没法分配内存2. 复制算法(copying)为了解决标记清除算法会产生大量碎片的缺陷而提出的算法。把内存分为大小相等的两块,每次只使用其中的一...原创 2020-04-09 09:34:39 · 90 阅读 · 0 评论