zoukankan      html  css  js  c++  java
  • JVM内存概览与GC初步

    一、JVM内存空间概览

    Java虚拟机使用的内存块包含 栈空间Stack (虚拟机栈、本地方法栈)、堆空间 Heap Memory 、永久区 Perm Gen(related to method area)(方法区)

    堆空间(Heap Memory)包含 初生代Eden Gen、两个幸存代Survivor Gen (S1 S2)、老年代Old Gen.

    GC优化= 选择合适的GC Collector +调整Heap大小+调整新生代比重+避免Full GC

    Minor GC比Full GC 的发生频率高很多

    二、堆空间Minor GC机制

    新建对象存放在Eden Gen 

    一次Minor GC后Eden区存活的对象放在空闲Survivor区S2(这里假设是S2),S1中存活的对象复制到S2,然后S1被清空

    下一次Minor GC时,Eden 存活对象复制到S1,S2存活对象复制到S1,如此,两个Survivor区反复交替复制。

    在Survivor区经历过16次MinorGC后仍旧存活的对象,复制到Old Gen

    三、Stop-The-World

    执行GC时会停止JVM应用层进程。

    四、GC监控 JConsole 监控虚拟机Heap 堆变化以及老年代变化

    图一 (全局查看)

    图二(查看老年代变化,图中两次内存使用率下降均在Full GC时)

  • 相关阅读:
    http-Content-Type
    ip地址和端口号
    node中的js-核心模块
    http-url 发送请求
    http 发送请求
    node http核心模块
    node 写文件
    bzoj-3170 3170: [Tjoi 2013]松鼠聚会(计算几何)
    codeforces 710E E. Generate a String(dp)
    codeforces 710C C. Magic Odd Square(构造)
  • 原文地址:https://www.cnblogs.com/zhengwenqiang/p/7077262.html
Copyright © 2011-2022 走看看