zoukankan      html  css  js  c++  java
  • JVM概览

    心血来潮,突然想总结下JVM相关方面的知识,先写一些,日后不断补充

    1.线上服务器默认的垃圾回器。

    执行命令:
    java -XX:+PrintCommandLineFlags -version
    

      

    -XX:UseParallelGC,这边我们引用《深入理解Java虚拟机:JVM高级特性与最佳实践》的介绍:

    打开此开关,使用的垃圾收集器是:新生代(Parallel Scavenge),老年代(Ps MarkSweep)组合

    2.jdk1.8. 1.9 11有什么区别

    3.串行、并行、并发收集器区别

    (1)串行(Serial)收集器
    1>使用单线程处理所有垃圾回收工作,因为无需多线程交互,所以效率比较高。但是,也无法使用多处理器的优势,所以此收集器适合单处理器机器。当然,此收集器也可以用在小数据量(100M 左右)情况下的多处理器机器上。可以使用-XX:+UseSerialGC 打开。
    (2)并行(Parallel)收集器
    1>对年轻代进行并行垃圾回收,因此可以减少垃圾回收时间。一般在多线程多处理器机器上使用。使用-XX:+UseParallelGC打开。
    2>使用-XX:ParallelGCThreads=<N> 设置并行垃圾回收的线程数。此值可以设置与机器处理器数量相等。
    3>最大垃圾回收暂停: 指定垃圾回收时的最长暂停时间,通过-XX:MaxGCPauseMillis=<N> 指定。<N>为毫秒.如果指定了此值的话,堆大小和垃圾回收相关参数会进行调整以达到指定值。设定此值可能会减少应用的吞吐量。
    4>吞吐量: 吞吐量为垃圾回收时间与非垃圾回收时间的比值 ,通过-XX:GCTimeRatio=<N> 来设定,公式为1/(1+N) 。例如,-XX:GCTimeRatio=19时,表示5%的时间用于垃圾回收。默认情况为99,即1%的时间用于垃圾回收。
    (3)并发(Concurrent)收集器(并发标记清除(Concurrent Mark Sweep)收集器)
    1>可以保证大部分工作都并发进行(应用不停止),垃圾回收只暂停很少的时间,此收集器适合对响应时间要求比较高的中、大规模应用。使用-XX:+UseConcMarkSweepGC打开。

    串行处理器:
    适用情况:
    数据量比较小(100M左右);单处理器下并且对响应时间无要求的应用。
    缺点:只能用于小型应用

    并行处理器:
    适用情况:“
    对吞吐量有高要求”,多CPU、对应用响应时间无要求的中、大型应用。举例:后台处理、科学计算。
    缺点:应用响应时间可能较长

    并发处理器:
    适用情况:“
    对响应时间有高要求”,多CPU、对应用响应时间有较高要求的中、大型应用。举例:Web服务器/应用服务器、电信交换、集成开发环境。

     

    java -XX:+PrintCommandLineFlags -version

    ==========================================================================           如果您觉得这篇文章对你有帮助,可以【关注我】或者【点赞】,希望我们一起在架构的路上,并肩齐行
    ==========================================================================
  • 相关阅读:
    HTML DOM 06 节点关系
    HTML DOM 05 事件(三)
    HTML DOM 05 事件(二)
    HTML DOM 05 事件(一)
    html DOM 04 样式
    html DOM 03 节点的属性
    html DOM 02 获取节点
    html DOM 01 节点概念
    JavaScript 29 计时器
    JavaScript 28 弹出框
  • 原文地址:https://www.cnblogs.com/amberJava/p/13198351.html
Copyright © 2011-2022 走看看