zoukankan      html  css  js  c++  java
  • jvm学习理解

    1.本文是转载别人所写的,因为这个jvm看很多遍老是忘,转载只是备忘和查看方便。

    转载地址: https://mp.weixin.qq.com/s/reFDCkUdq1QGGDs_Mnuesg

    图中涉及的各垃圾回收器特点如下:

    1、Serial(新生代-串行-收集器)

    • 策略:标记-复制-清除;

    • 优点:简单高效,适合Client模式的桌面应用(Eclipse);

    • 缺点:多核环境下,无法充分利用资源;

    2、parnew(新生代-并行-收集器)

    • 策略:标记-复制-清除;

    • 优点:多线程、独占式,多核环境下提高CPU利用率;

    • 缺点:单核环境下比Serial效率低;

    3、Parallel Scanvenge(新生代-并行-收集器)

    • 策略:标记-复制-清除;

    • 优点:精准控制“吞吐量”、gc时间。吞吐量=执行用户代码时间/(执行用户代码时间+内存回收时间);

    • 配置参数(可通过参数精准调控):       

    4、Serial Old(老年代-串行-收集器)

    • 策略:标记-清除-整理;

    • 优点:简单高效;

    • 缺点:多核环境下,无法充分利用资源;

    5、Parall Old(老年代-并行-收集器)

    • 策略:标记-清除-整理;

    • 优点:多核环境下,提高CPU利用率;

    • 缺点:单核环境下,比Serial Old效率要低; 

    6、CMS(老年代-并发-收集器);

    • 策略:标记-清除;优点:“停顿时间”最短;

    • 缺点:内存碎片(有补偿策略);

    • 适用场景:互联网Web应用的Server端、涉及用户交互、响应速度快;

    7、G1(新生代&老年代-并行&并发-服务端收集器)

      • 策略:G1将内存划分为Region,避免内存碎片;

      • 优点:Eden、Survivor、Tenured不再固定,内存使用率更高;可控的STW时间,根据预期的停顿时间,只回收部分Region;

      • 适应场景:多核CPU,JVM占用内存比较大的情况(>4GB);

  • 相关阅读:
    java图片压缩 、图片缩放,区域裁剪,水印,旋转,保持比例。
    java树形菜单实现
    vue-resource的使用,前后端数据交互
    如何在IntelliJ IDEA中使用.ignore插件忽略不必要提交的文件
    Git以及TortoiseGit的下载安装使用
    springBoot总结
    idea如何设置类头注释和方法注释
    (document).height()与$(window).height()
    使用js对中文进行gbk编码
    JS中URL编码参数(UrlEncode)
  • 原文地址:https://www.cnblogs.com/kaiwen/p/9632699.html
Copyright © 2011-2022 走看看