11 2019 档案
摘要:volatile关键字的作用 1. 所有变量的可见性——仅仅是修改后的值的可见性,不保证并发修改时新值和预期一致。即只保证读,不保证写。 2. 禁止指令重排序——修饰的变量,读写不会指令重排。如变量isReady被volatile修饰,这两条指令 和`isReady=true`不会在编译时改变顺序。
阅读全文
摘要:JavaGC的相关知识点在《深入理解JAVA虚拟机》上比较琐碎,有的概念没有详细介绍,前后顺序也不太连贯。为了便于理解原理和问题排查,反复阅读了这一部分及相关文章后简单的总结一下。
思想脉络是:JVM内存模型->内存模型中的堆的进一步分代->GC回收算法、日志、回收器,从一个面(内存模型)到一个点(堆), 再由这个点扩展到关联的点。
阅读全文
摘要:一次线上频繁FullGC问题的排查和解决记录,整理了一下通用的排查解决过程,同时介绍了一些可能会用到的工具。
阅读全文