美文网首页
JVM 虚拟机

JVM 虚拟机

作者: gstsyyb | 来源:发表于2020-05-25 14:20 被阅读0次

    背景:每次启动一个 JAVA程序,都会启动一个 JVM 虚拟机,体现在操作系统上就是一个进程,那在启动的需要设置 JVM虚拟机的内存大小以及相关参数。

    问题:JVM 的大小设置不合理导致 GC 频繁,产生 STW导致挂起 JVM 运行中的线程,体现在线上就是瞬间出现请求卡顿现象。

    方法区的大小在调优过程中不容易控制(程序中动态生成代码,动态编译加载),方法区满时引发 FullGC,所以 JDK1.8开始移出方法区,在 JVM 内存之外新建了元空间,降低类数据过大导导致的 GC 场景。

    JVM 调优总结:parnew + cms


    image.png

    JVM 内存回收与分配:

    image.png

    GCROOT就是栈上和元数据区上的引用,如果堆中的对象没有每栈、元数据区引用,就认为是可回收的对象。

    JMM 内存模型:如何在线程工作内存与主内存间同步数据


    image.png

    相关文章

      网友评论

          本文标题:JVM 虚拟机

          本文链接:https://www.haomeiwen.com/subject/dejyahtx.html