美文网首页JAVAJavaPerformace
Chapter7-JVM性能调优入门

Chapter7-JVM性能调优入门

作者: andersonoy | 来源:发表于2017-07-23 21:39 被阅读31次
  • 大页面支持
    • Linux上的大页面支持
      • 1.-XX:+UseLargePages
      • 2.修改OS的配置(依据Linux发行版和内核不同,其修改也不同)
      • 3.如Linux中大页面配置不正确, HotSpot VM会接受上面选项,但是会报告无法获取大页面,最后回退到OS默认支持的页面大小
      • 4.了解即可, 基本碰不到要配置此参数


  • 逃逸分析(escape analysis)
    • -XX:+DoEscapeAnalysis
    • 评估Java对象可见范围, 尤其是指由某个线程创建的Java对象在另一个线程中可以访问,此时称该对象逃逸了.
    • 如果Java对象不发生逃逸,则可以采取其他方法进行优化,这种优化技术称为逃逸分析
    • JIT编译器可以采取的优化技术有
      • 1.对象展开
      • 2.标量替换
      • 3.栈上分配
        • 线程的栈帧上分配而非堆,由于对象不逃逸,不被其他线程访问,则可以在线程私有的栈帧上分配,减少堆上对象的数目,减轻gc的频率
      • 4.消除同步
        • 如果该对象不逃逸,则当前线程持有该对象锁,其他线程访问不了该对象,则该锁可以由JIT消除
      • 5.消除垃圾收集的读/写屏障
        • 对象不逃逸,该对象只能从线程本地的根节点访问,因此在其他对象中存储其地址时不需要执行读或写屏障
        • 只有在对象可以被另一个线程访问时才需要读/写屏障
        • 读或写屏障

  • 极端示例

相关文章

网友评论

    本文标题:Chapter7-JVM性能调优入门

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