
JVM
文章平均质量分 82
Ben同学
加油,坚持学习!
展开
-
垃圾收集器知识点4:Java中垃圾收集器的实现
目录java8垃圾收集器组合一览serial GC(串行GC)的实现串行gc日志分析Minor GC(小型GC)Full GC(完全GC)Parallel GC(并行GC)的实现并行GC日志分析Minor GC(小型GC)Full GCCMS(Concurrent Mark and Sweep) GC的实现(重点GC)CMS GC日志分析Minor GCFull GCG1(Garbage First) GC的实现(重点) java8垃圾收集器组合一览 我们知道,针对年轻代和年老代的垃圾回收需要采取不同的gc原创 2021-11-17 23:15:28 · 580 阅读 · 1 评论 -
垃圾收集器知识点汇总3:GC算法基础
目录GC算法基础标记可达对象(Marking Reachable Objects)删除不可达对象清除操作整理操作复制操作 GC算法基础 标记可达对象(Marking Reachable Objects) 首先重温一下GCROOTS,GCROOTS为Garbage Collection Roots的缩写,被指定为GCROOTS的对象包括: 当前 正在执行的方法里 的 局部变量和输入参数 活动线程(Active threads) 内存中所有类的静态字段 JNI引用 GC遍历内存中的整体对象关系图,从GC根元原创 2021-11-06 15:46:04 · 330 阅读 · 0 评论 -
垃圾收集器知识点汇总2:Java中的垃圾收集
Java中的垃圾收集 碎片整理 上篇文章提到,标记清除法会导致内存碎片,内存碎片会使写入操作越来越耗时,因为寻找一块足够大的空闲空间会变得非常麻烦,并且在创建对象时JVM需要在连续的块中分配内存,内存碎片很容易导致没有足够连续的块创建对象导致内存分配错误(allocation error)。 要避免这种问题,就需要对内存进行碎片整理。方法就是对可达对象依次排序。 图例: 分代假设 为了避免垃圾回收的对象过多而导致STW(STOP THE WORLD PAUSE,全线暂停)时间过长,我们需要想办法实现每次进原创 2021-10-28 00:26:33 · 243 阅读 · 0 评论 -
垃圾收集器知识点汇总1:早期垃圾回收方案
垃圾收集器知识点汇总1:早期垃圾回收方案手动内存管理共享指针自动管理内存 手动内存管理 手动内存管理(Manual Mememory Management)是一种通过代码显式的分配内存并主动回收的方法,常见于早期的c/c++,通常会因为忘记回收而导致内存泄漏。 例: int send_request() { size_t n = read_size(); int *elements = malloc(n * sizeof(int)); if(read_elements(n, elements) <原创 2021-10-24 15:31:07 · 130 阅读 · 0 评论 -
Java垃圾回收机制(GC)
文章目录为什么需要垃圾回收哪些内存需要回收引用计数法可达性分析法四种引用状态强引用软引用弱引用虚引用方法区的垃圾回收垃圾收集算法(GC算法)Mark-Sweep(标记-清除)算法Copying(复制)算法Mark-Compact(标记-整理)算法分代收集算法垃圾收集器Serial收集器ParNew收集器Parallel Scavenge收集器CMS收集器G1收集器Serial Old收集器Para...原创 2019-09-10 21:04:28 · 985 阅读 · 0 评论 -
JVM常用参数(考试常见)
文章目录XmsXmxXmnverboseXssXossXnoclassgcXX系列PermSizeMaxPermSizeTraceClassLoadingTraceClassUnLoadingNewRatioSurvivorRatioHeapDumpOnOutOfMemoryErrorUseG1GCPrintGCDetailsPrintGCPretenureSizeThresholdMaxTenu...原创 2019-09-22 17:58:41 · 1168 阅读 · 1 评论