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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/352230.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python 项目打包成可执行程序命令

一、安装pyinstaller (1)winR输入cmd&#xff0c;打开命令窗口 2&#xff09;安装pyinstaller&#xff0c;安装指令&#xff1a;pip install pyinstaller 二、打包 1&#xff0c;切换到打包程序目录 例&#xff1a;需要打包程序目录为&#xff1a;D:\pythonfun\useringfunct…

软RAID-mdadm折腾小记

RAID --- 磁盘阵列,简言之,用来提高硬盘的利用率和速度RAID种类(理论):RAID 0 : 读写性能(最少两块硬盘) --- 硬盘使用量是所有硬盘大小之和,性能是所有硬盘之和RAID 1 : 读写性能,冗余性(最少两块硬盘) --- 空间利用率:所有磁盘中最小的那块(n/2); 读性能接近RAID0,写性能较r…

python学习笔记:第19天 类的约束、异常、MD5和logging

目录 一、类的约束二、异常处理&#xff1a;三、MD5加密四、日志&#xff08;logging模块&#xff09;一、类的约束 真正写写项目的代码时都是多人协作的&#xff0c;所以有些地方需要约束程序的结构。也就是说&#xff0c;在分配任务之前就应该把功能定义好&#xff0c;然后分…

新ANTLR 4.6的重要更改

自从上一个主要版本发布以来&#xff0c;已经过去了将近一年的时间&#xff0c;推出了新的ANTLR版本&#xff1a; 4.6 。 有很多新闻&#xff1a;新的目标&#xff0c;更好的性能&#xff0c;更好的错误处理以及ANTLR本身开发中的一些改进。 新目标 影响最大的新闻可能是新目标…

strcmp可以比较数组么_C语言数组越界了,后果很严重,如何避免?

素材来源&#xff1a;嵌入式ARM所谓的数组越界&#xff0c;简单地讲就是指数组下标变量的取值超过了初始定义时的大小&#xff0c;导致对数组元素的访问出现在数组的范围之外&#xff0c;这类错误也是 C 语言程序中最常见的错误之一。在 C 语言中&#xff0c;数组必须是静态的。…

MongoDB 问题123

MongoDB 是非关系型数据库中的一种。 出于某些原因&#xff0c;我们用了Mongo。他们说Mongo的最大特点是快。 不过这种快是以空间换时间的代价而得来的。 这个空间代价包括 1.DB至少占用64M(好像是这个数字&#xff0c;因为我们的DB实际往往只有几M,但却要占用那么多&#xff0…

两个excel文档查找相同选项后替换_看似普通的查找和替换功能,用好了,能让你的工作效率翻一番...

关注【新精英充电站】能力提升看得见&#xff01;在Word中&#xff0c;查找和替换功能是编辑文档时时常要用到的重要功能&#xff0c;它能帮助我们快速将文档或表格中查找到的内容或格式等替换为指定的内容或格式&#xff0c;特别是遇到大量需要修改的相同文字内容或格式时非常…

Mongodb内存管理和使用情况情况查询

overview MongoDB使用的是内存映射存储引擎,即Memory Mapped Storage Engine&#xff0c;简称MMAP。MMAP可以把磁盘文件的一部分或全部内容直接映射到内存&#xff0c;这样文件中的信息位置就会在内存中有对应的地址空间&#xff0c;这时对文件的读写可以直接用指针来做&#…

mapreduce文本排序_MapReduce:通过数据密集型文本处理

mapreduce文本排序自上次发布以来已经有一段时间了&#xff0c;因为我一直忙于Coursera提供的一些课程。 有一些非常有趣的产品&#xff0c;值得一看。 前一段时间&#xff0c;我购买了Jimmy Lin和Chris Dyer的MapReduce数据密集型处理程序 。 本书以伪代码格式介绍了几种关键的…

nginx根据参数转发到不同服务器_Nginx服务器之负载均衡策略

一、关于Nginx的负载均衡在服务器集群中&#xff0c;Nginx起到一个代理服务器的角色&#xff08;即反向代理&#xff09;&#xff0c;为了避免单独一个服务器压力过大&#xff0c;将来自用户的请求转发给不同的服务器。二、Nginx负载均衡策略负载均衡用于从“upstream”模块定义…

同步异步与协程

目录&#xff1a; 同步/异步 异步回调 协成 线程队列 同步|异步: 线程的三种状态:   1.就绪   2.运行   3.阻塞阻塞和非阻塞描述的是运行的状态阻塞 :遇到了IO操作,代码卡住,无法执行下一行,CPU会切换到其他任务非阻塞 :与阻塞相反,代码正在执行(运行状态) 或处于就绪状态…

Linux禁止非WHEEL用户使用SU命令

通常情况下&#xff0c;一般用户通过执行“su -”命令、输入正确的root密码&#xff0c;可以登录为root用户来对系统进行管理员级别的配置。 但是&#xff0c;为了更进一步加强系统的安全性&#xff0c;有必要建立一个管理员的 组&#xff0c;只允许这个组的用户来执行“su -”…

代理的JavaOne 2016观察

我无法参加JavaOne 2016&#xff0c;因此很高兴在线上看到大量资源&#xff0c;这些资源使我能够基于JavaOne 2016内容进行观察。 我在本文中引用并简要描述了其中的一些JavaOne 2016资源&#xff0c;并根据这些资源的使用添加了我自己的一些观察结果。 正如Katharine在JavaOne…

resnet过拟合_重读经典:完全解析特征学习大杀器ResNet

公众号关注 “ML-CVer”设为 “星标”&#xff0c;DLCV消息即可送达&#xff01;作者丨刘昕宸知乎来源丨https://zhuanlan.zhihu.com/p/268308900编辑丨极市平台导读 通过堆叠神经网络层数(增加深度)可以非常有效地增强表征&#xff0c;提升特征学习效果&#xff0c;但是会出现…

Java开发笔记(二十三)数组工具Arrays

数组作为一种组合形式的数据类型&#xff0c;必然要求提供一些处理数组的简便办法&#xff0c;包括数组比较、数组复制、数组排序等等。为此Java专门设计了Arrays工具&#xff0c;该工具包含了几个常用方法&#xff0c;方便程序员对数组进行加工操作。Arrays工具的方法说明如下…

生成对抗网络gan原理_必读!TOP10生成对抗网络GAN论文(附链接)

来源&#xff1a;新智元本文约2200字&#xff0c;建议阅读7分钟。本文所选论文提供了一个易读的对GAN的介绍&#xff0c;帮助你理解GAN技术的基础。[ 导读 ]生成对抗网络 (GAN) 是深度学习中最有趣、最受欢迎的应用之一。本文列出了 10 篇关于 GAN 的论文&#xff0c;这些论文将…

visudo精确用户赋权(sudo)

原文BLOG&#xff1a;http://iminmin.blog.51cto.com/689308/455992sudo” 是 Unix/Linux 平台上的一个非常有用的工具&#xff0c;允许为非根用户赋予一些合理的 “ 权利 ” &#xff0c;让他们执行一些只有根用户或特许用户才能完成的任务&#xff0c;从而减少根用户的登陆次…

es6中的类及es5类的实现

目录 类的特点类的特点 1.类只能通过new得到 在es6中类的使用只能是通过new&#xff0c;如果你将它作为一个函数执行&#xff0c;将会报错。 //es6的写法 class Child {constructor() {this.name 1;} } let child new Child(); console.log(child.name)//1 //如果直接…

python高阶函数filter_Python进阶系列连载(13)——Python内置高阶函数filter(上)...

前言进阶部分连载继续~如果还没看过我的入门连载部分&#xff0c;先看&#xff1a;当然&#xff0c;小编的免费入门课程已经有咯&#xff0c;看过连载的朋友可以看看视频再快速梳理一遍~前文传送门&#xff1a;filterfilter是什么意思呢&#xff1f;我们百度看看&#xff1a;百…

javaone_JavaOne 2012:观察与印象

javaone我正坐在旧金山国际机场等待登上一架飞机&#xff0c;然后又一次满意但累人的JavaOne&#xff08;2012&#xff09;体验&#xff0c;开始撰写这篇特别的博客文章。 自上周日的主题演讲以来&#xff0c;在会议上狂热地撰写了约30篇博客文章之后&#xff0c;再写另一篇博客…