- 浏览: 88835 次
- 性别:
- 来自: 北京
文章分类
我觉得处理JVM调优问题需要以下五个步骤:
第一:理解清楚JVM内存模型,知道JVM内存的划分,包括堆、栈、方法区、程序计数器、本地方法区、栈的内存模型、方法区的常量池、线程执行操作共享内存等等
第二:知道垃圾回收算法,注意是算法不是垃圾回收算法实现的垃圾回收器,包括基本回收策略里面的引用计数、标记-清除、复制、标记-整理;分区回收策略里面的增量回收和分代回收;系统线程策略的串行、并行和并发
第三:知道具体JVM的垃圾回收器,垃圾回收器是对垃圾回收算法的实现,是一个嵌入到JVM里面的小工具,例如HotSpot JVM里面的分代回收器,针对年轻代的Serial,ParNew和Parallel Scavenge,针对年老代的CMS、Parallel Old以及Serial Old(MSC)。需要知道这针对年轻代的和针对年老代的这六种垃圾回收器的各自的特点和比较,例如ParNew和Parallel Scavenge有什么区别,MSC的存在是为了什么。
第四:需要知道JVM调优的参数,-Xms,-Xmx,-Xss,-XX:PermSize=64m,等等,知道他们的默认值,知道他们的配合配置。
官方HotSpot JVM调优参数链接:http://docs.oracle.com/javase/7/docs/technotes/tools/windows/java.html
第五:也是最关键的东西,根据当前java应用,运用以上四点所学,予以JVM最适当的配置。这需要会用各种调试或监控工具和命令,大量的尝试和大量的经验,没有万能的垃圾回收算法和回收器,只有适合自己Java应用的。
第一:理解清楚JVM内存模型,知道JVM内存的划分,包括堆、栈、方法区、程序计数器、本地方法区、栈的内存模型、方法区的常量池、线程执行操作共享内存等等
第二:知道垃圾回收算法,注意是算法不是垃圾回收算法实现的垃圾回收器,包括基本回收策略里面的引用计数、标记-清除、复制、标记-整理;分区回收策略里面的增量回收和分代回收;系统线程策略的串行、并行和并发
第三:知道具体JVM的垃圾回收器,垃圾回收器是对垃圾回收算法的实现,是一个嵌入到JVM里面的小工具,例如HotSpot JVM里面的分代回收器,针对年轻代的Serial,ParNew和Parallel Scavenge,针对年老代的CMS、Parallel Old以及Serial Old(MSC)。需要知道这针对年轻代的和针对年老代的这六种垃圾回收器的各自的特点和比较,例如ParNew和Parallel Scavenge有什么区别,MSC的存在是为了什么。
第四:需要知道JVM调优的参数,-Xms,-Xmx,-Xss,-XX:PermSize=64m,等等,知道他们的默认值,知道他们的配合配置。
官方HotSpot JVM调优参数链接:http://docs.oracle.com/javase/7/docs/technotes/tools/windows/java.html
第五:也是最关键的东西,根据当前java应用,运用以上四点所学,予以JVM最适当的配置。这需要会用各种调试或监控工具和命令,大量的尝试和大量的经验,没有万能的垃圾回收算法和回收器,只有适合自己Java应用的。
发表评论
-
Java对象引用类型
2013-05-09 09:55 895Java对象的引用类型分为强引用、软引用、弱引用和虚应用 强引 ... -
diango创建数据异常no module named base
2013-05-05 22:02 1545本人使用django创建web项目使用的数据库是sqlite3 ... -
hibernate根据hbm自动生成数据库
2013-04-27 10:26 1017今天碰到一个很老的项目,只有hbm文件没有数据库,想根 ... -
svn分支合并到主线的十大注意事项
2013-04-07 10:39 0svn是java软件工程师常用的版本控制工具,但是对于分支到主 ... -
这几年收集的java相关资料
2013-04-06 14:46 614以下是我搜集的java相关资料,有需要的可以联系我,QQ470 ... -
很诡异的一个hibernate问题
2012-12-27 09:39 297在一个service里写了如下一段代码: List<Gr ... -
一种JavaWeb项目开发部署方式
2012-11-16 09:37 1092以前在myeclipse开发Java Web项目的时候 ... -
tomcat支持中文路径图片问题
2012-11-12 14:51 2638今天,上传图片,但是有文件夹是中文的或是图片文件名是中 ... -
已经安装jdk了,运行applet还是提示安装问题解决
2012-11-08 10:57 1242今天,同事的机子已经装了jdk,但是运行带有ap ... -
理解编译型编程语言心得
2012-11-01 14:11 7251,编译型语言,像c和c++都是,在源代码成为 ... -
集成到项目中web.xml报taglib标签错误
2012-10-31 15:45 805web.xml的报错位置: <taglib> ... -
使用润乾报表工具过程、心得和体会
2012-10-31 15:41 5596现在做的这个项目,需要导出相关报表,正好前几个 ... -
(转)Java开源软件六大帮派
2012-10-25 10:40 743原文链接:http://www.oschina.net/que ... -
Linux安装jdk详解
2012-10-22 16:34 7141,下载JDK,肯定官网下载,有多种类型,源码包、bin包、r ... -
(转)Java几款性能分析工具的对比
2012-10-18 11:04 737在给客户进行应用程序维护的过程中,我注意到一些关于高负载条件下 ... -
从编程的角度理解操作系统及其软件设计
2012-10-11 10:58 900我们都知道操作系统是装在计算机上的,所有的计算 ... -
windows程序入口
2012-10-09 15:32 1620操作系统装载应用程序后,做完初始化工作就转到程序的入口点执行。 ... -
回车符和换行符的区别
2012-09-27 18:34 937回车符号和换行符号产生背景: 在计算机还没 ... -
C语言标准函数库IO处理分析
2012-09-26 16:25 891IO处理函数都在stdio.h头 ... -
C语言标准函数库动态内存分配和释放分析
2012-09-25 11:14 10551,动态内存分配需要程序员手动来释放获得的内存 2,内存分配和 ...
相关推荐
1.1 JVM调优总结-序3 1.2 JVM调优总结(一)-- 一些概念 4 1.3 JVM调优总结(二)-一些概念 7 1.4 JVM调优总结(三)-基本垃圾回收算法 9 1.5 JVM调优总结(四)-垃圾回收面临的问题 12 1.6 JVM调优总结(五)-分代...
JVM调优实践 ⼀、JVM调优准备⼯作 1. 机器环境: 机器 CPU 内存 单机 4C 16G 2. 默认启动参数 JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256 -XX:MetaspaceSiz e=128m -XX:MaxMetaspaceSize=320m" JAVA_...
JVM调优篇
JVM调优总结 JVM调优总结 JVM调优总结
JVM调优工具命令详解
JVM调优总结PDF,带原理图,延时如何进行分代垃圾回收
分析常见的JVM调优技术及其相关条件,以及在实战中怎么使用到相关的技术进行调优,比较适合中高级开发进行学习,适合对JVM理解较深的开发学习
NULL 博文链接:https://lihongchao87.iteye.com/blog/1688576
JVM调优 调优参数 调优方法 , 调优手段 等.
JVM面试资料。 JVM结构:类加载器,执行引擎,本地方法接口,本地内存结构; 四大垃圾回收算法:复制算法、标记-清除算法、标记-整理算法、分代收集算法 ...JVM调优:命令行指令,设置堆内存大小的参数
JVM调优攻略.pdf!
网上下载的JVM调优实战, 值得一下
JVM调优实战
JVM调优总结 -Xms -Xmx -Xmn -Xss JVM调优总结 -Xms -Xmx -Xmn -Xss
java6 JVM 调优参数大全 -XX
深入虚拟机---JVM调优总结(摘自网上网上大牛分享),主要是详细介绍了gc的收集,觉得不错。
一.java内存结构 2 二 垃圾收集算法: 3 三 JVM参数 4 四 JVM的垃圾回收集器 7 五 常用参数设置 7
JVM调优,GC算法汇总,面试必问,早点准备,很好的资料!
好东西,jvm 调优的详细介绍,让你瞬间明白,打车大图