随笔分类 - JVM
摘要:前言 目前暂时放弃阅读源码,只看了实现原理和使用,搞清楚响应式编程、akka模型。 思维导图 使用文档 http://ifeve.com/akka-doc-java-what-is-akka/ 关于Reactive Reactive编程(一):Reactive编程的背景 Reactive编程(二):
阅读全文
摘要:JDK8中用元空间metaspace代替了永久代perm,原因和其特性简单介绍一下。 思维导图 图中gc log详解链接:https://www.jianshu.com/p/cd34d6f3b5b4 其他参考文章 Java 8新特性探究(九)跟OOM:Permgen说再见吧 Metaspace 之一
阅读全文
摘要:简称 STW —— Stop the World,暂停所有在执行的线程 简史 2004年Sun实验室第一次发表G1论文 JDK6U14中第一次作为实验选项引入 JDK7中开始作为替换CMS的方案 JDK9中成为默认的垃圾回收器 JDK10优化,将其fullGC改为并行: "JEP307" JDK11
阅读全文
摘要:volatile关键字的作用 1. 所有变量的可见性——仅仅是修改后的值的可见性,不保证并发修改时新值和预期一致。即只保证读,不保证写。 2. 禁止指令重排序——修饰的变量,读写不会指令重排。如变量isReady被volatile修饰,这两条指令 和`isReady=true`不会在编译时改变顺序。
阅读全文
摘要:JavaGC的相关知识点在《深入理解JAVA虚拟机》上比较琐碎,有的概念没有详细介绍,前后顺序也不太连贯。为了便于理解原理和问题排查,反复阅读了这一部分及相关文章后简单的总结一下。
思想脉络是:JVM内存模型->内存模型中的堆的进一步分代->GC回收算法、日志、回收器,从一个面(内存模型)到一个点(堆), 再由这个点扩展到关联的点。
阅读全文
摘要:一次线上频繁FullGC问题的排查和解决记录,整理了一下通用的排查解决过程,同时介绍了一些可能会用到的工具。
阅读全文