zoukankan      html  css  js  c++  java
  • JVM(五):JVM模型与GC

    1. 确定垃圾
      • 引用计数(存在循环引用问题)
      • 根可达算法

    截屏2020-10-14 上午10.42.19.png

    1. 常见的垃圾回收算法
      • 标记清除算法-位置不连续,产生碎片

    截屏2020-10-14 上午10.51.20.png

      • 拷贝算法- 没有碎片,浪费空间

    截屏2020-10-14 上午10.53.46.png

      • 标记压缩-没有碎片,效率偏低(多线程需要进行线程同步,单线程效率本来就低)

    截屏2020-10-14 上午10.59.10.png

     

    1. JVM内存分代模型(用于分代垃圾回收算法)

          a. 部分垃圾回收器使用的模型

          b. 新生代+老年代+永久代(1.7)/元数据区(1.8)Metaspace

        1. 永久代 元数据- Class
        2. 永久代必须指定大小限制,元数据区可以设置,也可以不设置,无上限(受限与物理内存)
        3. 字符串常量 1.7在永久代,1.8在堆
        4. MethodArea(方法区)逻辑概念-指的是永久代或元数据

          c. 新生代 = Eden + 2个suvivor区

        1. YGC回收之后,大多数对象会被回收,活着的进入s0
        2. 再次YGC,活着的对象eden + s0 ->s1
        3. 再次YGC,eden+s1->s0
        4. 年龄足够->老年代
        5. s区装不下->老年代

          d. 老年代

        1. 顽固分子
        2. 老年代满了FGC

          e. GC Tuning(Generation)

        1. 尽量减少FGC
        2. MinorGC = YGC
        3. MajorGC = FGC

    截屏2020-10-14 下午2.04.51.png

    1. 常见的垃圾回收器

    截屏2020-10-14 下午2.10.51.png

    a. Serial-年轻代 串行回收

    截屏2020-10-14 下午2.14.41.png

    b. PS-年轻代 并行回收

    截屏2020-10-14 下午2.23.32.png

    c. ParNew-年轻代 配合CMS的并行回收(PS和CMS不能配合使用,为了配合CMS,产生了ParNew)

    截屏2020-10-14 下午2.27.20.png

    d. SerialOld

    e. ParallelOld

    f. ConcurrentMarkSweep 老年代,垃圾回收和引用程序同时进行,降低STW的时间(200ms)

    截屏2020-10-14 下午2.32.16.png

    j. G1(10ms)

    h. ZGC(1ms) PK C++

    i. Shenandoah

    g. Eplison

    1.8默认的垃圾回收器: PS+ParallelOld

    1. JVM调优
      1. JVM命令行参数参考: 命令行
      2. 常用:
        1. -XX:+PrintFlagsFinal (打印所有最终生效值)
        2. -XX:+PrintFlagsInitial (打印默认值)
        3. -XX:+PrintCommandLineFlags (启动时的命令行参数)
      1. JVM参数分类
        1. 标准:-开头,所有的HotSpot都支持
        2. 非标准: -X开头,特定版本HotSpot支持特定命令
        3. 不稳定: -XX开头,下个版本可能取消
  • 相关阅读:
    Bootstrap(项目2)
    Bootstrap(项目1)
    Bootstrap(Carousel幻灯片)轮播图
    Bootstrap(滚动监听)
    Bootstrap基础10(标签页)
    Bootstrap基础9(工具提示框、警告框、弹出框)
    Bootstrap基础8(模态框(弹窗))
    Bootstrap基础7(标签、徽章、大屏展播、页面标题、缩略图、进度条、面板、折叠效果)
    Bootstrap基础6(路径导航)
    2018~2019学年下学期《计算机图像处理》
  • 原文地址:https://www.cnblogs.com/sbrn/p/13815057.html
Copyright © 2011-2022 走看看