4.6.7.8.10.四色2.5.9.J.Q双色球走势图大小鬼王32这是什么???

1寸2寸3寸5寸6寸8寸10寸照片的具体尺寸(cm为单位)_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
1寸2寸3寸5寸6寸8寸10寸照片的具体尺寸(cm为单位)
阅读已结束,下载文档到电脑
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩2页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢我穿以纯的牛仔裤尺码是——32 ,185/80A ,请问我的腰围、臀围大概是多少啊?_百度知道
我穿以纯的牛仔裤尺码是——32 ,185/80A ,请问我的腰围、臀围大概是多少啊?
我有更好的答案
32指腰围是2.5尺,就是裤子的号码减掉7就是你的腰围;
对应后面的数码80A,也是指的腰围,80厘米;
A是裤型的一种代码,表示比力修身的裤型。。。
裤子尺码对照表
29码=2.2尺腰=73.5cm
30码=2.3尺腰=77cm
31码=2.4尺腰=80cm
32码=2.5尺腰=83.5cm
33码=2.6尺腰=87cm
34码=2.7尺腰=90cm
36码=2.8尺腰
38码=2.9尺腰
40码=3.0尺腰
裤子尺码对照表
26号------1尺9寸臀围2尺6
32号------2尺6寸臀围3尺2
27号------2尺0寸臀围2尺7
34号------2尺7寸臀围3尺4
28号------2尺1寸臀围2尺8
36号------2尺8寸臀围3尺5-6
29号------2尺2寸臀围2尺9
38号------2尺9寸臀围3尺7-8
30号------2尺3寸臀围3尺0
40号------3尺0寸臀围3尺9-4尺
31号------2尺4寸臀围3尺1
42号------3尺1-2寸臀围4尺1-2
采纳率:22%
有用号数来表示:
注意大多牛仔牌子用英吋计的,另外买牛仔裤长短一般以内长为主。
因为腰有高底,裤子的外长受腰头的高低影响,裤腿的长度容易不合身,买牛仔裤腰应偏小1个码,40,42,所以你要买31吋的腰就好了,
以你的个头应该34吋左右的内长(见下面内长度量方法)具体多少你再度一条你穿过的裤子就更准确了;4X; 由于儿童的年龄跨度大,从初生婴儿到15:
一般换算法是服装尺码对照表 29码=2.2尺腰=73;L尺码组”编号不同,而儿童服装的尺码表示方式就非常多,常见的有直接用年龄来表示;70A相当于2930号裤子以及L和欧码的40
很多牌子其实尺寸不是特别准,有时候会有165/70B,就是短而肥的特号.7尺腰36码=2.8尺腰38码=2.3尺腰=77CM
31码=2.4尺腰=80CM
32码=2,具体含义就不知道了,如38,其尺码和年龄、身高的对应关系也可参考上表。
3,和裤子一样、双号尺码与年龄,比如你说的28号,28号指臀围2尺8,一般休闲裤子这样编,这个确实是不看腰围的,童装有不同的尺码编号方式,其中“年龄尺码组”和“身高尺码组”直接以年龄或身高数编号;68A、XS、S、M、L、XL。
一种是号码法:
165/68A相当于2728号裤子以及M和欧码的38
170&#47,A代表体型.0尺腰
衣服裤子上的尺码,如160/
190/104a=身高和胸围。
所以你选牛仔裤的尺码应该为:W31L34
附.2尺腰30码=2.3尺腰31码=2,如160/68A,160是指身高,68表示腰围.5英吋.,有用身高来表示,如:80CM,因此我们特地做了一个童装尺码和儿童身高的对照表。
一种是臀围法,一般仔裤会比较准。
再说衣服,衣服也是一样的,只不过一种变成身高/胸围厘米法,比如165/88A;一种是欧码法,但是一般是这样编,就是传说中的欧码
还有一种是字母法,就是S,M,L,XL等等.5尺腰=83.5CM
33码=2.6尺腰=87CM
34码=2;56号.,等等:
W=waist腰围
L=inseamlength---内侧骨长
你腰围市尺二尺四合80厘米=31,一般M都对应165&#47。成人服装的尺码大小基本上都用XXS、XXL来表示,比较简单:内长指纯裤腿长(裆底量到下脚边)
拿裤子举例,裤子通常有4种编法
一种是身高-腰围厘米法,比如165/68A,这说明是给165高,腰围68厘米的人穿的,如,它们的裤子都有一个确定的腰围和臀围的匹配关系,一定的臀围就对一定的腰围、3Y、4Y…….7尺腰=90CM
36码=2.8尺腰
38码=2.9尺腰
40码=3.0尺腰
裤子尺码对照表
26号------1尺9寸臀围2尺6
32号------2尺6寸臀围3尺2
27号------2尺0寸臀围2尺7
34号------2尺7寸臀围3尺4
28号------2尺1寸臀围2尺8
36号------2尺8寸臀围3尺5-6
29号------2尺2寸臀围2尺9
38号------2尺9寸臀围3尺7-8
30号------2尺3寸臀围3尺0
40号------3尺0寸臀围3尺9-4尺
31号------2尺4寸臀围3尺1
42号------3尺1-2寸臀围4尺1-2
裤子尺码对照表
29码=2、宝宝的身材会有差别.5CM
30码=2,因此儿童服装的尺码比成人服装要复杂的多。
2、除上述尺码组外,童装实际上还有其他的尺码表述方式:1#、2#...凭我经验一般棉布裤子,正装裤子这样编.那个A表示一般的遍法,但是所有的内长度量准了.
175/96a=裤长3尺2,腰围2尺9;38号;4X,裤腿的长短就一定适穿。
注;66A.4尺腰32码=2.5尺腰
33码=2.6尺腰34码=2:1Y、2Y,共您参考。 说明:
160是指身高,68是胸围/腰围
关于A是按体型分类.
裤子上的尺码.68厘米就是2尺啦、身高的对应关系选择合适尺码;一种是S,M,L法,如:
Y偏瘦体,如L(170&#47、与成人装统一按“S/M&#47.9尺腰
40码=3,“单数尺码组”或“双数尺码组”以单数或双数编号、16岁的少年,身材差异悬殊;92B)表示身高在170CM到175CM这间,胸围92左右体型偏胖的人可以选择这样的衣服
牛仔裤的尺码表示方法.大小要看这个牌子自己是怎么定的、3#、4#……,在挑选衣服时就会比较头痛,不知道到底那个尺码才是适合宝宝的.很少见,不同的童装品牌会用不同的尺码表示方式,如果不熟悉童装的尺码、90CM、100CM、110CM…,购衣可根据上表所列的单
其他2条回答
为您推荐:
其他类似问题
以纯的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。广汽丰田-凯美瑞
一键砍遍全城
为了更好的用户体验,本功能仅支持微信
扫码关注“口袋买车”,立即向销售顾问砍价
广州25名销售顾问抢单优惠最高,服务最好者优先接单已有2449人成功砍到期望价格
无需填写手机号码先查阅销售顾问的报价方案满意后再沟通
外观颜色:
内饰颜色:
外观颜色:
内饰颜色:
外观颜色:
内饰颜色:
还有5篇买车必看的内容
该车评分高于62%的同级别车系
此品牌团购正在火热招募团友
您可能关注
共68个车型
,您可能还关注:
(微信独享)
2.0L 167马力
本地最低报价
6挡手自一体
价格相邻车型主要配置差异
6挡手自一体
价格相邻车型主要配置差异
2.0L 169马力
本地最低报价
6挡手自一体
价格相邻车型主要配置差异
6挡手自一体
价格相邻车型主要配置差异
2.5L 209马力
本地最低报价
8挡手自一体
价格相邻车型主要配置差异
8挡手自一体
价格相邻车型主要配置差异
8挡手自一体
价格相邻车型主要配置差异
想了解目标车型的底价?请填写如下信息给商家:
* 意向车型:
* 出售车型:
请选择车系
* 所在城市:
地区(可不选)
* 抵押车型:
请选择品牌
请选择车系
请选择车型
* 行车里程:
请选择行车里程
2万公里以下
8-10万公里
10万公里以上
* 上牌时间:
请选择上牌年份
请选择上牌月份
* 上牌城市:
请选择上牌省份
请选择上牌城市
* 抵押状态:
* 定制车型:
请选择品牌
请选择车系
* 排量信息:
* 版本信息:
* 定制城市:
请选择省份
请选择城市
* 特殊要求:
您可以输入50个字以内的定制要求
* 您的姓名:
请输入您的姓名
* 手机号码:
请输入正确的手机号
* 验证码:
验证码错误
询价成功将收到最低价短信
钱贷走,车照开扫我关注微信公众号,更多贷款优惠等你来
恭喜您,申请提交成功
成功提交!
关注微信服务号,查看询价结果。
成功提交!
购车优惠券
车主综合评分
(3160人评价)
在222款中型车中,该车综合评分高于62%的车系
综合评分:
优点:外形很眼前一亮,主要是比较喜欢,所以就拿下了,没什么好犹豫的
缺点:等车时间吧
在222款中型车中,该车外观评分高于69%的车系
外观评分:
外观:外观耐看,不惊艳也不过时,就是漂亮干练
在222款中型车中,该车内饰评分高于47%的车系
内饰评分:
内饰:内饰的话还行,用料也比较合理
在222款中型车中,该车空间评分高于77%的车系
空间评分:
空间:空间没太多追求,就是玩玩开着
在222款中型车中,该车配置评分高于75%的车系
配置评分:
配置:定速巡航,前/后雷达,倒车视频影像,全景摄像头等等。
在222款中型车中,该车动力评分高于73%的车系
动力评分:
动力:动力很好,动力能做到随叫随到
在222款中型车中,该车操控评分高于84%的车系
操控评分:
操控:转向精准,刹车反应很灵敏,操控起来现在是越来越得心应手的了。
在222款中型车中,该车油耗评分高于60%的车系
油耗评分:
油耗:到现在为止,有好的表现都是很不错的,每百公里的油耗是7.5升左右。
在222款中型车中,该车舒适评分高于64%的车系
舒适评分:
舒适:舒适性这个每个人都不同的体会,我个人是觉得挺舒服的。
凯美瑞图片
按车型查看
外观颜色:
内饰颜色:
凯美瑞视频
经销商地区:
地区(不可选)
广州周边优惠
展厅经销商
最新促销活动
竞争车系优惠行情
编辑实测点评
凯美瑞 2015款 骏瑞 2.0S 凌动版
百公里加速
百公里制动
综合评分:7.6
改款后的凯美瑞除了换上一副更为年轻的脸孔外,还针对销售主力的2.0L车型作出动力上的更新。不难看出,凯美瑞是丰田开始向年轻转变的风向标,新款加了的D-4S双喷射系统的凯美瑞在动力方面有着一定的提升,对于最多人关注的2.0L入门级车型,竞争力方面确实有不小的提升,加上再次提高的燃油经济性,想要追求兼顾实用和动力的消费者,新凯美瑞 2.0L D-4S确实是一款非常值得考虑的车型。
1、外观更富有动感 档次感也有提升
2、空间变动不大 依旧很实用
1、尾箱没有开启开关
凯美瑞 2012款 2.5Q G-book旗舰版
百公里加速
百公里制动
综合评分:9.3
凯美瑞一直都能令笔者惊叹,多年不变的技术依然能够在市场成为热销车型,如今在大众强烈的技术攻势之下只用开始换代,全新的外观内饰在档次和审美方面个人感觉都要比上一代好了不少,全新升级的2.5自然进气发动机与6AT变速箱让其在动力方面成绩提高了不少,值得肯定的是油耗方面与保养方面也没因此增加,所以这代凯美瑞依然是一台能够满足中国消费者各项需求的产品。
综合评分:8.7
全新改款凯美瑞摇身一变反而走上了锐利进取的路线了,这对于国内用户而言未必是一件好事,这也是凯美瑞经典版为什么要继续打拼江湖的原因。虽然新车内外都经过重新设计,但在机械性能方面并没有特别大的变化,倒是推出的三款Hybrid混合动力型号非常给力,定价不再高高在上,终于让这种新颖的动力方案具备了现实意义。
综合评分:8.6
新凯美瑞在外观方面采用了不少年轻化的设计,比如一些镀铬装饰条的运用,让这款车的外观显得不是那么沉闷。内饰方面还是丰田实用为上的设计风格,配置在同级别还算是较高的,方向盘像游戏机手柄的设计让人印象深刻。整体设计一如既往的舒适,包括驾驶和乘坐感受也是如此。
论坛精华帖子
网友也关注
*免责声明:报价均由商家提供,本网站只提供网络平台,过低价格可能存在附加条件,请提高警惕。
热门城市4s店
精彩活动推荐
热门车型对比
凯美瑞 2018款 2.5G 豪华版
蔚揽 2018款 280TSI 两驱舒行版
迈锐宝XL 2018款 530T 自动锐驰版
速派 2018款 TSI280 DSG舒适版
凯美瑞 2018款 2.0E 精英版
绅宝D70 2018款 性能版 1.8T 自动舒适版
力狮 2018款 2.5i 全驱风尚版
索纳塔九 2018款 1.6T 时尚型
凯美瑞 2018款 2.0G 豪华版
索纳塔九 2018款 1.6T 时尚型
迈锐宝XL 2018款 530T 自动锐享版
速派 2018款 TSI280 DSG标准版
汽车热销榜
最近看过的车
太平洋汽车网分期购车方案
省钱方案:根据个人信息在1000多种方案中,为你匹配省钱的方案
*意向车型:选择车型
*购车城市:选择省份选择城市
购车时间:
匹配到的省钱方案和近期分期优惠活动将通过短信通知您
*手机号码:
*短信验证码:
材料少/手续简单只需要身份证等极少材料,立即进入在线额度预审批
更省钱0利率、超低利率、免手续费...等着您
专人服务选择分期即享受一对一专属购车服务
我已阅读并同意
太平洋汽车网分期购车方案
完善以下信息,有利于匹配到最精确的省钱方案
*学历情况:
博士及以上
*工作类型:
企业法人代表/股东
个体工商户
*税后年薪:
<option value="6万
<option value="-12万
<option value="-20万
<option value="-30万
<option value="-50万
<option value="万以上
*婚姻情况:
*信用记录:
有信用卡or房贷or车贷
个别信用逾期
无贷款or信用卡
*住房情况:
住在父母所在公寓
拥有自己的房产
配偶名下有房产
*身份证号:
材料少/手续简单只需要身份证等极少材料,立即进入在线额度预审批
更省钱0利率、超低利率、免手续费...等着您
专人服务选择分期即享受一对一专属购车服务
截止当前时间95%网友提交后都会完善个人资质信息,信息完善更有利匹配到准确的分期方案。
太平洋汽车网分期购车方案
根据个人情况,在太平洋汽车网上千种金融产品中为您匹配最省钱的分期方案
为您匹配到以下方案,请保持手机畅通,将有专人与您确认购车事宜
关注“口袋车贷”微信公众号,在线咨询贷款详情关注公众号最高可获得3000元返现!成为Java GC专家(5)—Java性能调优原则 - ImportNew
| 分类: ,
| 标签: ,
这是“”系列的第五篇文章。在第一篇中,我们已经学习了不同的GC算法流程、GC的工作原理、新生代(Young Generation)和老年代(Old Generation)的概念。你应该了解了JDK7中5种GC类型以及各种类型对应用程序的影响。
在第二篇中,阐述了是怎样实际执行垃圾回收的,我们怎样去监控GC以及哪些工具能让这个过程更高效。
第三篇中展示了一些基于真实案例的最佳实践。同时讲解了怎样尽量少地将对象放入老年代空间(Old Area),避免频繁地执行完全垃圾回收(Full GC)。还说明了如何设置GC的类型和内存大小。
在第四篇中,解释了MaxClients参数的重要性以及它在垃圾回收过程中对整个系统性能的显著影响。
第五篇文章将讲解Java程序性能调优的原则,尤其是在这个过程中必要的知识以及判断你的程序是否需要调优。还会介绍调优过程中你可能遇到的问题。本文最后会给出一些建议,依据这些你能在对Java程序调优时做出更好的决策。
并不是每个程序都需要调优。如果一个程序性能表现和预期一样,你不必付出额外的精力去提高它的性能。然而,在程序调试完成之后,很难马上就满足它的性能需求,于是就有了调优这项工作。无论哪种编程语言,对应用程序进行调优都需要丰富的技术知识并且注意力高度集中。另外,你也不应该用相同的方式对两个程序调优,因为每个程序都有它自己独特的运作方式和不同的资源使用方式。正因如此,调优比写程序需要更多基础知识。例如,你需要熟悉虚拟机、操作系统和计算机架构。而当你面对在这些知识基础上编写的程序时,就能成功地对它进行调优。
有时调优Java程序只需要修改JVM参数,比如GC的参数。但也有些时候需要修改程序代码。无论那种方法,你首先都需要监控执行Java程序的进程。因此本文会讲解下面几个问题:
怎样监控Java程序?
应该给JVM设置怎样的参数?
如何确定是否需要修改代码?
对Java程序进行调优的必要知识
Java程序在Java虚拟机中运行。因此为了进行调优,你需要理解JVM的工作流程。我之前有一篇博文,将让你对JVM有深入的了解。
本文中有关JVM运作过程的知识主要关于GC和Hotspot。尽管只有这两方面的知识可能无法对所有的Java程序进行调优,但是这两个因素在大多数情况下都影响着Java程序的性能。
值得注意的是,从操作系统的角度来看,JVM也是一个应用程序进程。为了给JVM创造良好的运行环境,你还需要对操作系统分配资源的过程有所了解。这意味着,想要调优Java程序,除了JVM你也应该理解操作系统或者硬件的工作方式。
需要具有的知识还有Java这门语言本身。另外理解锁和并发、类加载和对象创建都是非常重要的。
当开始调优Java程序时,你应该整合以上各方面的知识来完成工作。
Java程序性能调优的过程
图1是一张Java程序性能调优的流程图,摘自由Charlie Hunt和Binu John所著的Java Performance。
图1:Java程序性能调优的过程
JVM分布式模型
JVM分布式模型用于决定是在一个JVM还是多个JVM上执行Java程序。你可以根据其有效性、响应能力和可维护性来进行选择。当在多台服务器上运行JVM时,你也可以选择将多个JVM运行于一台服务器或者每台服务器运行一个JVM。例如,对于每台服务器,你可以运行一个使用8GB堆内存的JVM,也可以运行4个使用2GB的JVM。你理应根据处理器内核的个数还有程序的特性来决定这个数量。当优先考虑响应能力时, 使用2GB的堆内存会优于8GB的,原因是这样能在更短的时间内完成Full GC。当然,8GB的堆内存可以降低Full GC的频率。如果你的程序使用了内部缓存,还可以通过增加缓存命中率来提高响应能力。综上所述,选择合适的模型需要考虑应用程序的特性,然后在各种模型中 选定一个能够扬长避短的。
选择JVM其实就是决定使用32位还是64位的JVM。在相同的条件下,你最好用32位的。因为32位的JVM比64位性能更好。然而,32位 JVM最大支持的堆内存是4GB(无论在32位操作系统还是64位的上,实际可分配的大小都只有2-3GB)。如果需要更大的堆内存,还是用64位的 JVM比较合适。
表1:性能比较()
时间(秒)
Java 64-bit
Java 32-bit
Java 32-bit GC*
Java 32-bit SPEC GC*
Scala low-level*
Scala low-level GC*
下一步就是运行程序来测试它的性能。这个过程包括GC调优、改变操作系统设置和修改代码。对于这些工作,你可以使用系统监视工具或者性能分析工具。
注意:针对响应能力的调优和针对吞吐量的调优可能使用不同的方法。如果经常性地发生(串行GC暂时中断程序执行),程序的响应能力就会被降低。比如在高吞吐量时执行Full GC。不要忘记,在调优时往往有得有失。这样需要折衷处理的事情不仅发生在响应能力和吞吐量之间。例如使用更多的CPU资源来降低内存的使用,或者不得不忍受响应能力和吞吐量其中一个性能指标的下降。相反的情况同样可能发生,实际的调优应该根据各指标的优先级来执行。
上面图1中的流程展示了几乎可用于所有Java程序的性能调优过程,包括Swing应用。然而,对于我们公司用于提供网络服务的服务器端程序来说,这个方法多少有些不合适。下面图2中的流程是根据图1修改而来,它更简单,也更适合NHN。
图2:对HNH的Java程序的调优过程
其中,Select JVM表示尽可能使用32位的JVM,除非你需要用64位的JVM来维护一个数GB的缓存。
现在,跟随图2中的流程,你会了解到每一步具体的工作。
我会主要讲解如何为Web服务端程序设置合适的JVM参数。尽管不一定适合所有的案例,但是最好的GC算法是(CMS垃圾回收),特别是对于Web服务端程序。因为低延迟是非常重要的。当然,在使用CMS时,由于新生代空间(New Area)的分配,可能发生较长时间的stop-the-world现象,不过调整新生代空间的大小或者它和整个堆空间的比例可能解决这个问题。
指定新生代空间的大小和指定整个对堆内存的大小同样重要。你最好使用–XX:NewRatio来指定新生代和整个堆的大小比例,或者直接用–XX:NewSize来指定所需的新生代空间。这个配置是非常必要的,因为大部分对象都不会存活很久。在Web程序中,除了缓存数据,其他多数对象都只在HttpRequest到HttpResponse期间创建。这个时间几乎不会超过1秒,表示这些对象的存活时间也不会超过1秒。如果新生代空间不够大,对象会被转移到老年代空间,以便腾出地方给新对象使用。老年代空间(Old Area)垃圾回收的代价是比新生代空间大的多的,因此很需要设置一个充足的新生代空间。
然而,当新生代空间的大小超过一个特定的水平,程序的响应能力会被降低。因为新生代空间的垃圾回收过程,基本上是将数据从一个Survivor Area复制到另外一个(From Space和To Space)。另外,stop-the-world的现象在新生代空间和老年代空间执行垃圾回收时都会发生。如果新生代空间变大,那么Survivor Area的空间也会更大,于是每次复制的数据就更多。基于这样一种特性,我们应该通过指定不同操作系统中HotSpot JVM的NewRatio参数来分配合适大小的新生代空间。
表2:不同操作系统和配置下NewRatio的默认值
操作系统及参数
默认-XX:NewRatio
Sparc -server
Sparc -client
x86 -server
x86 -client
如果设置了NewRatio,那么整个堆空间的1/(NewRatio +1)就是新生代空间的大小。上表可以看出Sparc -server的NewRatio默认值很小,因为相比x86的操作系统,Sparc以前更多用于高端应用,这个值就是为它们设置的。但现在x86操作系统的性能有很大提升,使用它们作为服务器已经很普遍了。因此指定NewRatio为2或者3是更好的选择,就和Sparc -server上的配置一样。
另外,你还可以通过指定NewSize和MaxNewSize来代替NewRatio。那么新生代空间创建时的大小就是指定的NewSize,随后可以一直增长到MaxNewSize的值。Eden(新创建对象存放的区域)和Survivor Area两个区域会随比例增加。就和你为-Xms(译者注:原文是-Xs,应该是笔误)和-Xmx设置相同的值一样,将MaxSize和 MaxNewSize设置为相同的也是一个好选择。
如果同时指定了NewRatio和NewSize,你应该使用更大的那个。于是,当堆空间被创建时,你可以用过下面的表达式计算初始新生代空间的大小:
min(MaxNewSize, max(NewSize, heap/(NewRatio+1)))
无论如何,仅通过一次尝试就找到合适的堆空间和新生代空间大小是不可能的。根据我在NHN运行Web服务器的经验,建议使用下面的JVM参数来运行Java程序。监控在这些参数的条件下程序的性能表现之后,你就能够选择更合适的GC算法或者配置。
表3:推荐的JVM参数
整个堆内存大小
为-Xms和-Xmx设置相同的值。
新生代空间大小
-XX:NewRatio: 2到4. -XX:NewSize=? –XX:MaxNewSize=?. 使用NewSize代替NewRatio也是可以的。
持久代空间大小
-XX:PermSize=256m -XX:MaxPermSize=256m. 设置一个在运行中不会出现问题的值即可,这个参数不影响性能。
-Xloggc:$CATALINA_BASE/logs/gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps. 记录GC日志并不会特别地影响Java程序性能,推荐你尽可能记录日志。
-XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75. 一般来说推荐使用这些配置,但是根据程序不同的特性,其他的也有可能更好。
发生OOM时创建堆内存转储文件
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$CATALINA_BASE/logs
发生OOM后的操作
-XX:OnOutOfMemoryError=$CATALINA_HOME/bin/stop.sh 或 -XX:OnOutOfMemoryError=$CATALINA_HOME/bin/restart.sh. 记录内存转储文件后,为了管理的需要执行一个合适的操作。
测定程序的性能
为了得到程序的性能表现,需要以下这些信息:
系统吞吐量(TPS、OPS):从整体概念上理解程序的性能。
每秒请求数(Request Per Second &#8211; RPS):严格来说,RPS和单纯的响应能力是不同的,但是你可以把它理解为响应能力。通过这个指标,你能够了解到用户需要多长时间才能得到请求的结果。
RPS的标准差:如果可能的话,还有必要包括事件的RPS。一旦出现了偏差,你应该检查GC或者网络系统。
为了得到更准确的性能表现,你应该等到程序彻底启动完成后再进行测量,因为字节码随后会被HotSpot JIT编译为本地机器码。总体来说,需要在程序加载完指定功能后,用等工具测试至少10分钟。
切实地调优
如果nGrinder测试的结果满足了预期,那么你不需要对程序进行性能调优。如果没有达到预期结果,你就应该执行调优来解决问题。接下来会通过实例讲解方法。
stop-the-world耗时过长
stop-the-world耗时过长可能是由于GC参数不合理或者代码实现不正确。你可以通过分析工具或堆内存转储文件(Heap dump)来定位问题,比如检查堆内存中对象的类型和数量。如果在其中找到了很多不必要的对象,那么最好去改进代码。如果没有发现创建对象的过程中有特别的问题,那么最好单纯地修改GC参数。
为了适当地调整GC参数,你需要获取一段足够长时间的GC日志,还必须知道哪些情况会导致长时间的stop-the-world。想了解更多关于如何选择合适的GC参数,可以阅读我同事的一篇博文:。
CPU使用率过低
当系统发生阻塞,吞吐量和CPU使用率都会降低。这可能是由于网络系统或者并发的问题。为了解决这个问题,你可以分析线程转储信息(Thread dump)或者使用分析工具。阅读这篇文章可以获得更多关于线程转储分析的知识:。
你可以使用商业的分析工具对线程锁进行精确的分析,不过大部分时候,只需使用JVisualVM中的CPU分析器,就能获得足够的信息。
CPU使用率过高
如果吞吐量很低但是CPU使用率却很高,很可能是低效率代码导致的。这种情况下,你应该使用分析工具定位代码中性能的瓶颈。可使用的工具有:JVisualVM、Eclipse TPTP或者JProbe。
建议你使用如下方法对程序进行调优。
首先,检查性能调优是否必要。测量性能不是一件简单的工作,你也不能保证每次都获得满意的结果。因此如果程序已经满足预期性能需求,不必在调优上增加额外的投入了。
问题只出在一个地方,你要做的就是去解决掉它。二八定律()对性能调优同样适用。这不是说某个模块的低性能一定只源于一个问题,而是强调我们应该在调优时把注意力放在影响最大的那个问题上。在处理好了最重要的之后,你才应该去解决剩下其他的。也就是建议一次只对一个问题进行修复。
另外需要考虑到气球效应(),有得必有失。你可以通过使用缓存来提高响应能力,但是当缓存逐渐增大,执行一次Full GC的时间也会更长。一般而言,如果你希望内存使用率比较低,那么吞吐量和响应能力可能都会恶化。因此,要知道什么对自己程序来说最重要的,而哪些又是次要的。
到此为止,你应该已经了解了如何对Java程序进行性能调优。为了介绍性能测定的具体过程,我不得不省略其中一些细节,不过我认为这些也足够应对大多数Java Web服务端程序了。
最后祝调优好运!
原文链接:
- 译文链接: [ 转载请保留原文出处、译者和译文链接。]
关于作者:
Coding for love, coding for fun.
(新浪微博:)
不好意思 第一次评论需要审核 怕有爬虫机器人制造垃圾评论
关于ImportNew
ImportNew 专注于 Java 技术分享。于日 11:11正式上线。是的,这是一个很特别的时刻 :)
ImportNew 由两个 Java 关键字 import 和 new 组成,意指:Java 开发者学习新知识的网站。 import 可认为是学习和吸收, new 则可认为是新知识、新技术圈子和新朋友……
新浪微博:
推荐微信号
反馈建议:ImportNew.
广告与商务合作QQ:
&#8211; 好的话题、有启发的回复、值得信赖的圈子
&#8211; 写了文章?看干货?去头条!
&#8211; 为IT单身男女服务的征婚传播平台
&#8211; 优秀的工具资源导航
&#8211; 活跃 &#038; 专业的翻译小组
&#8211; 国内外的精选博客文章
&#8211; UI,网页,交互和用户体验
&#8211; JavaScript, HTML5, CSS
&#8211; 专注Android技术分享
&#8211; 专注iOS技术分享
&#8211; 专注Java技术分享
&#8211; 专注Python技术分享
& 2018 ImportNew}

我要回帖

更多关于 双色球中奖规则 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信