Chapter7-JVM性能调优入门

  • 大页面支持
    • 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.消除垃圾收集的读/写屏障
        • 对象不逃逸,该对象只能从线程本地的根节点访问,因此在其他对象中存储其地址时不需要执行读或写屏障
        • 只有在对象可以被另一个线程访问时才需要读/写屏障
        • 读或写屏障

  • 极端示例

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Java8张图 11、字符串不变性 12、equals()方法、hashCode()方法的区别 13、...
    Miley_MOJIE阅读 9,128评论 0 11
  • 1.一些概念 1.1.数据类型 Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始...
    落落落落大大方方阅读 10,043评论 4 86
  • Java 应用性能优化是一个老生常谈的话题,典型的性能问题如页面响应慢、接口超时,服务器负载高、并发数低,数据库频...
    Rick617阅读 12,111评论 1 9
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,445评论 11 349
  • 当在一个Excel表格中录制宏,保存方式为”个人宏工作簿“时,宏录制结束,直接保存Excel表格时,将会出现如下警...
    霹雳小青龙阅读 11,779评论 0 2