《深入浅出Java虚拟机》学习笔记
文章平均质量分 95
《深入浅出Java虚拟机》学习笔记
久违の欢喜
Stay hungry, Stay young
展开
-
11 | 遇到问题不要慌,轻松解决内存泄漏
文章目录遇到问题不要慌,轻松解决内存泄漏GC 引起 CPU 飙升现场保留瞬时态和历史态保留信息内存泄漏的现象内存泄漏遇到问题不要慌,轻松解决内存泄漏现在的互联网服务,一般都做了负载均衡。如果一个实例发生了问题,不要着急去重启。万能的重启会暂时缓解问题,但如果不保留现场,可能就错失了解决问题的根本,担心的事情还会到来。所以,当实例发生问题的时候,第一步是隔离,第二步才是问题排查。什么叫隔离呢?就是把你的这台机器从请求列表里摘除,比如把 nginx 相关的权重设成零。在微服务中,也有相应的隔离机制,这原创 2022-11-03 13:58:38 · 784 阅读 · 0 评论 -
08 | 有了 G1 还需要其他垃圾回收器吗?
文章目录有了 G1 还需要其他垃圾回收器吗?为什么叫 G1G1 的垃圾回收过程RSet具体回收过程年轻代回收并发标记(Concurrent Marking)混合回收(Mixed GC)ZGC有了 G1 还需要其他垃圾回收器吗?面试题:G1 的回收原理是什么?为什么 G1 比传统 GC 回收性能好?为什么 G1 如此完美仍然会有 ZGC?CMS的一个极端场景(而且是经常发生的场景):在发生 Minor GC 时,由于 Survivor 区已经放不下了,多出的对象只能提升(promotion原创 2022-03-09 20:39:55 · 214 阅读 · 0 评论 -
07 | 垃圾回收你真的了解吗?(下)
文章目录垃圾回收你真的了解吗?(下)CMS 回收过程初始标记(Initial Mark)垃圾回收你真的了解吗?(下)概念:Minor GC:发生在年轻代的 GC。Major GC:发生在老年代的 GC。Full GC:全堆垃圾回收。比如 Metaspace 区引起年轻代和老年代的回收。CMS 的全称是 Mostly Concurrent Mark and Sweep Garbage Collector(主要并发标记清除垃圾收集器),它在年轻代使用复制算法,而对老年代使用标记-清除算原创 2022-03-08 20:07:22 · 187 阅读 · 0 评论 -
06 | 垃圾回收你真的了解吗?(上)
文章目录垃圾回收你真的了解吗?(上)标记(Mark)清除(Sweep)复制(Copy)整理(Compact)分代年轻代老年代卡片标记(card marking)HotSpot 垃圾回收器年轻代垃圾回收器老年代垃圾收集器配置参数STW垃圾回收你真的了解吗?(上)面试题:JVM 中有哪些垃圾回收算法?它们各自有什么优劣?CMS 垃圾回收器是怎么工作的?有哪些阶段?服务卡顿的元凶到底是谁?按照语义上的意思,垃圾回收,首先就需要找到这些垃圾,然后回收掉。但是 GC 过程正好相反,它是先找到活跃的原创 2022-03-07 21:22:42 · 150 阅读 · 0 评论 -
05 | 得心应手应对 OOM 的疑难杂症
文章目录得心应手应对 OOM 的疑难杂症得心应手应对 OOM 的疑难杂症原创 2022-03-06 15:02:35 · 121 阅读 · 0 评论 -
03 | 从覆盖 JDK 的类开始掌握类的加载机制
文章目录从覆盖 JDK 的类开始掌握类的加载机制类加载过程加载验证准备解析初始化类加载器Bootstrap ClassLoaderExtention ClassLoaderApplication ClassLoaderCustom ClassLoader双亲委派机制如何替换 JDK 的类从覆盖 JDK 的类开始掌握类的加载机制面试题我们能够通过一定的手段,覆盖 HashMap 类的实现么?有哪些地方打破了 Java 的类加载机制?如何加载一个远程的 .class 文件?怎样加密 .class原创 2022-03-03 20:33:37 · 416 阅读 · 0 评论 -
02 | 你不得不掌握的 JVM 内存管理
文章目录你不得不掌握的 JVM 内存管理JVM 内存布局虚拟机栈程序计数器堆元空间问题补充你不得不掌握的 JVM 内存管理面试题:JVM 是如何进行内存区域划分的?JVM 如何高效进行内存管理?为什么需要有元空间,它又涉及什么问题?JVM 内存布局随着 Java 的发展,内存布局一直在调整之中。比如,Java 8 及之后的版本,彻底移除了持久代,而使用 Metaspace 来进行替代。 这也表示着 -XX:PermSize 和 -XX:MaxPermSize 等参数调优,已经没有了意义原创 2022-03-02 20:23:44 · 994 阅读 · 0 评论 -
01 | 为什么需要 JVM?它处在什么位置?
文章目录为什么需要 JVM?它处在什么位置?JVM 和操作系统的关系JVM、JRE、JDK的关系Java 虚拟机规范和 Java 语言规范的关系我们写的 Java 代码到底是如何运行起来的小结为什么需要 JVM?它处在什么位置?面试题:为什么 Java 研发系统需要 JVM?你对 JVM 的运行原理了解多少?我们写的 Java 代码到底是如何运行起来的?想要弄清楚这些问题,我们首先需要从这三个维度去思考:JVM 和操作系统的关系?JVM、JRE、JDK 的关系?Java 虚拟机规原创 2022-03-01 21:32:38 · 211 阅读 · 0 评论