jvm
文章平均质量分 90
宇哥996
Java全栈技术分享,大厂内推面试题,jvm,juc,多线程,高并发,框架spring全家桶,flink,分布式组件,中间件,数据库,运维docker,k8s等.内功修炼设计模式,算法,网络,操作系统.前端技术js,Vue等.满满技术干货.
展开
-
面试必问的JVM垃圾回收(三)-G1垃圾收集器
G1垃圾收集器简介G1垃圾收集器偏向于多处理器运行,满足stw时间短的同时实现高吞吐量。其特点包括:堆大小高达数十GB或更大,其中超过50%的Java堆占用实时数据。 对象分配和升级的速率可能会随时间而显着变化。 堆中有大量碎片。 预测的stw不超过几百毫秒,避免了长时间的垃圾收集暂停。G1在应用程序运行的同时执行其部分工作,尽管使用G1收集器的垃圾收集暂停通常很短,但应用程序吞吐量也往往会略微降低。G1是默认收集器。启用G1可以通过-XX:+UseG1GC在命令行上提供显.原创 2021-01-19 14:48:29 · 1354 阅读 · 1 评论 -
面试必问的JVM垃圾回收(二)
一、分代垃圾收集器:二、常见垃圾回收算法:1. 标记-清除算法 标记-清除算法从根集合GC Roots出发,关于GC ROOTS可以参照作者上一篇文章,沿引用链进行扫描,对存活的对象进行标记,标记完毕后,扫描整个空间中未被标记的对象进行回收.标记-清除算法不需要进行对象的移动,只需要处理已经死亡的对象,在存活对象比较多的情况下极为高效,但由于标记-清除算法直接回收不存活的对象,因此会造成内存碎片,内存碎片过多可能会导致更快的一次垃圾回收,比如需要分配大对象的时候.2.复制算法 复原创 2021-01-11 13:08:58 · 148 阅读 · 1 评论 -
面试必问的JVM垃圾回收(一)
什么是垃圾回收?引用的对象称为活动对象,不再被引用的对象将被视为死对象,被称为垃圾。找到并释放(也称为回收)这些对象所使用的空间的过程被称为垃圾收集。垃圾收集解决了许多(但不是全部)内存分配问题。您可以创建对象,无限期地继续引用它们,直到没有更多的内存可用。垃圾收集也是一种复杂的任务需要自己的时间和资源。用于组织内存、分配和释放空间的精确算法由垃圾处理收集器处理,这一系列过程对开发人员是隐藏的。空间通常是从一个大的内存池中分配的,就像堆一样,垃圾回收的时间由垃圾回收器决定。通常,整个堆或其子部分是当原创 2021-01-07 13:59:03 · 169 阅读 · 1 评论 -
jvm内存结构
java虚拟机规范:https://docs.oracle.com/javase/specs/jvms/se15/html/index.htmlRun-Time Data AreasThe Java Virtual Machine defines various run-time data areas that are used during execution of a program. Some of these data areas are created on Java Virtual原创 2020-12-20 22:31:10 · 105 阅读 · 0 评论