jvm ide

几个月前,我正在阅读Java中的复杂事件处理以及实现低延迟的方法。 在我长达一个小时的研究结束时,我发现即使您的应用程序编写正确并且您的方法主要在0(log n)的时间内运行,并且您使用的是某些尖端的硬件解决方案,但仍需要花费一些时间。 VM在解释字节码期间。

从好的方面来说,Java被解释了,它的字节码是跨JVM兼容的,但是我们也知道,因此,我们注定会在某些地方丢失某些东西。 我们的JVM读取解释的字节码并每次运行。 显然,这需要时间。

但是考虑到我们友好的邻居JIT编译器(服务器或客户端)会注意常用的方法,并且发现方法被调用了太多次后 ,它会将其编译为本机代码,而不是依赖JVM,因此它的性能还不错。一直在字节码上。

使用vm参数配置“太多次”的数字

<-XX:CompileThreshold

默认值为1500 。 一个自然的猜测是减少数量将意味着更多的方法更快地转换为本地代码,这意味着更快的应用程序,但事实并非如此。 相当低的数字将意味着服务器由于JIT编译太多方法(毕竟可能经常不经常使用)所花费的时间,并且由于本机代码驻留在内存中,因此服务器的启动速度将大大降低。荣获“记忆杀手”奖,并以缓慢的痛苦死亡。 稍作谷歌搜索就可以发现100左右的数字还不错。 同样,这取决于您的应用程序以及使用模式和流量。

忘了提及,成为JIT本机编译候选对象的最小编译单元是一种方法。 不是一个障碍。 因此,长期使用脂肪的方法–祝您好运!

实际上,这种JIT编译并非一go而就。 它有两个整洁的阶段:

1)每次调用方法时,其计数器都会增加1,并在达到阈值后不久,JIT会进行第一次编译

2)第一次编译后,计数器将重置为0并再次递增。 在第二个周期中,当JIT达到阈值时,它将进行第二轮编译 –这次具有更激进和令人敬畏的优化(对不起–无法在此处提供很多详细信息)

如果您使用的是JDK 7,并且您的计算机在多核上运行(我不知道为什么不这样做),那么可以使用以下标志来加快本机编译过程

-server -XX:+TieredCompilation

考虑到可用选项的数量,我不能声称自己是JVM调优的专家。 因此,如果您觉得有用或不正确,请留下您的评论。

别忘了分享!

参考:通过我们的JCG合作伙伴 Arun Manivannan的Rerun.me博客为您的JVM热身-超快速生产服务器和IDE 。

翻译自: https://www.javacodegeeks.com/2012/10/warming-up-your-jvm-superfast.html

jvm ide

jvm ide_预热JVM –超快速生产服务器和IDE相关推荐

  1. 预热您的JVM –超快速生产服务器和IDE

    几个月前,我正在阅读Java中的复杂事件处理以及实现低延迟的方法. 在我长达一个小时的研究结束时,我发现即使您的应用程序编写正确并且您的方法主要在0(log n)的时间内运行,并且您正在使用某些前沿的 ...

  2. 在短短几分钟内用冰柱构建超快速PHP服务器

    Event-based programming is a strange topic for PHP developers. In a language as procedural; events a ...

  3. JVM调优三板斧,快速掌握调优的核心与思路

    如何从调优小白走向调优高手 说起JVM调优,大伙儿可能瞬间头皮发麻."好家伙,和调优沾边儿的事儿,不是我这个段位的小新手能解决的". 于是赶紧找来了技术大拿,看大拿三下五除二排查出 ...

  4. Jvm 系列(八):Jvm 知识点总览

    对于Java程序员来讲,spring全家桶几乎可以搞定一切,spring全家桶便是精妙的招式,jvm就是内功心法很重要的一块,线上出现性能问题,jvm调优更是不可回避的问题.因此JVM基础知识对于高级 ...

  5. Jvm 系列(二):Jvm 内存结构

    所有的Java开发人员可能会遇到这样的困惑?我该为堆内存设置多大空间呢?OutOfMemoryError的异常到底涉及到运行时数据的哪块区域?该怎么解决呢?其实如果你经常解决服务器性能问题,那么这些问 ...

  6. jvm系列(七):jvm调优-工具篇

    16年的时候花了一些时间整理了一些关于jvm的介绍文章,到现在回顾起来还是一些还没有补充全面,其中就包括如何利用工具来监控调优前后的性能变化.工具做为图形化界面来展示更能直观的发现问题,另一方面一些耗 ...

  7. jvm系列(八):jvm知识点总览-高级Java工程师面试必备

    在江湖中要练就绝世武功必须内外兼备,精妙的招式和深厚的内功,武功的基础是内功.对于武功低(就像江南七怪)的人,招式更重要,因为他们不能靠内功直接去伤人,只能靠招式,利刃上优势来取胜了,但是练到高手之后 ...

  8. jvm系列(二):JVM内存结构

    所有的Java开发人员可能会遇到这样的困惑?我该为堆内存设置多大空间呢?OutOfMemoryError的异常到底涉及到运行时数据的哪块区域?该怎么解决呢?其实如果你经常解决服务器性能问题,那么这些问 ...

  9. jvm系列(八):jvm知识点总览

    在江湖中要练就绝世武功必须内外兼备,精妙的招式和深厚的内功,武功的基础是内功.对于武功低(就像江南七怪)的人,招式更重要,因为他们不能靠内功直接去伤人,只能靠招式,利刃上优势来取胜了,但是练到高手之后 ...

最新文章

  1. 判断控件是否出现了滚动条
  2. 算法工程师和算法框架开发,谁会代表未来?
  3. Reactive Extensions入门(4):Rx实战
  4. curl post file PHP
  5. Instgram和color,谁会更成功?
  6. 《XMPP高级编程 使用JavaScript和jQuery》
  7. ps怎么对比原图快捷键_图片查看方式快捷键
  8. 域中文件服务器的设置权限,域中文件服务器共享权限设置.pdf
  9. runtime error
  10. 电脑换硬盘要重装系统吗
  11. 什么是CDN,为什么用CDN,如何用CDN
  12. 使用Python下载酷狗音乐
  13. RR正显著-不显著 -负显著
  14. 四个步骤教你写好一款产品的运营数据分析报告(转)
  15. 【第93期】谁是元宇宙的“基础设施”?
  16. 正则表达式的语法积累
  17. 关于 DevOps ,咱们聊的可能不是一回事
  18. #C51 IIC通讯(底层配置时序)
  19. 免费分享Redis从入门到精通的优秀图书
  20. C# PDF操作之-PDF转PPT

热门文章

  1. MySQL timediff()函数
  2. Oracle入门(十四G)之PL / SQL中检索数据
  3. Java实现最电话号码的简单加密源码
  4. AntDesignPro一次添加多条数据的表单字数限制,并且把input框变为可变文本框
  5. 2015蓝桥杯省赛---java---A---8(移动距离)
  6. 2020蓝桥杯省赛---java---B---10(整数小拼接)
  7. 车提示检测轮胎气压_水淹车估价中心_辽宁中车检
  8. redis集群3种模式
  9. Dom4j完整教程详解
  10. java native关键字(java本地方法)