• / 47
  • 下载费用:10 金币  

java虚拟机及性能调优.ppt

关 键 词:
java虚拟机及性能调优.ppt
资源描述:
JAVA虚拟机及性能调优,@周立伟 QQ463595761,目录,JAVA是什么,使用用户最多、使用范围最广泛,JAVA,JAVA API,JVM,编程脚本,第三方框架,JDK,,JRE,JAVA是什么,Lambda,JAVA是什么,淘宝开源,JAVA是什么,,简单,容易入门,自动内存管理,一处编译,到处运行,2,3,4,1,面向对象,java特点,目录,JVM是什么,,JVM种类,HotSpot,JRockit,J9,SUN 使用最新的CMS垃圾收集器,并发性高,BEA 号称世界速度最快的虚拟机,垃圾收集器处于世界领先水平。,IBM 市场定位类似HotSpot,支持服务器端、桌面应用、嵌入式等多个领域,主要用于IBM自己的Java产品 websphere,,,JVM是什么,JVM生命周期,启动,运行,消亡,,,JVM是什么,JVM内存布局,方法区,虚拟机栈,本地方法栈,堆,程序计数器,执行引擎,本地库接口,,,,,,,本地方法库,JVM是什么,JVM内存布局--执行引擎 在执行方法时JVM提供了四种指令来执行: invokestatic:调用类的static方法 invokevirtual:调用对象实例的方法 invokeinterface:将属性定义为接口来进行调用 invokespecial:JVM对于初始化对象(Java构造 器的方法为:)以及调用对象实例中的私有方法时。,JVM是什么,JVM对象,new指令,类加载检查,分配内存(两种方式),完成,对象设置,内存初始化,JVM创建对象结束 JAVA创建对象开始!,JVM是什么,对象访问定位---句柄,,,int,short,reference,float,double,,,句柄池,到对象实例数据的指针,到对象类型数据的指针,实例池,对象实例数据,对象类型数据,heap,方法区,jvm stack(本地变量表),JVM是什么,对象访问定位---指针,,,int,short,reference,float,double,,,句柄池,到对象实例数据的指针,对象实例数据,对象类型数据,heap,方法区,jvm stack(本地变量表),JVM是什么,OOM分析--内存参数-XX:+HeapDumpOnOutOfMemoryError Xms 最小heap内存 Xmx 最大heap内存 Xmn heap内存中新生代的大小Xss 栈内存 -XX:PermSize 最小非heap内存 -XX:MaxPermSize 最大非heap内存,,JVM是什么,OOM分析--实例(堆内存溢出),,JVM是什么,OOM分析--实例(栈内存溢出),,JVM是什么,OOM分析--JVM内存公式,,Xmx (最大堆内存),Maxpermsieze (最大方法区内存),程序计数器,Xss (栈内存),JVM 内存,,,,,JVM是什么,OOM分析--(方法区内存溢出)1、方法区用于存储加载到jvm的class相关信息,类名、接口、方法、修饰符等等,spring的动态代理、涉及到类增加的地方都可能出现方法区内存异常,生成的class越多,就需要更多的方法内存。2、常量池内存异常,尽量避免创建长度较大字符串,,目录,垃圾回收的奥秘,为什么进行垃圾回收,,heap,,,ClassLoader,GC,垃圾回收的奥秘,哪些内存需要回收,引用计数算法,二次标记,2,3,1,可达性分析算法,算法,对象存活判定,垃圾回收的奥秘,引用计数器算法,反面例子,垃圾回收的奥秘,可达性分析算法,GC ROOTS,object1,object3,object2,object4,object7,object6,object5,垃圾回收的奥秘,可达性分析算法,虚拟机栈中引用的对象,方法区常量引用的对象,本地方法中JNI引用的对象,2,3,4,1,方法区静态属性引用的对象,GC ROOTS,垃圾回收的奥秘,二次标记,可达性分析,不可达对象,finalize(),F-Queue,,第一次标记,筛选,第二次标记,逃脱,死亡,死亡,垃圾回收的奥秘,垃圾收集算法,标记--清除 算法,标记--整理算法,2,3,1,复制算法,算法,对象如何回收,3,分代收集算法,垃圾回收的奥秘,标记--清除算法,垃圾回收的奥秘,标记--整理算法,垃圾回收的奥秘,标记--复制算法,Eden,Survivor,Survivor,8,1,1,,新生代,存活的对象,,老年代,垃圾回收的奥秘,分代收集算法新生代-----复制收集老年代-----标记清除/标记整理,垃圾回收的奥秘,垃圾收集器,垃圾回收的奥秘,垃圾收集器参数SurvivorRatioPretenureSizeThresholdMaxTenuringThresholdParallelGCThreadsMaxGCPauseMillis,垃圾回收的奥秘,GC类型新生代GC(Minor GC): 发生在新生代的垃圾收集动作,因为java对象大多数是朝生夕死的,所以Minor GC非常频繁,回收速度较快。老年代GC(Full GC) 发生在老年代的垃圾收集动作,出现Full GC,会先执行一次Minor GC(不是绝对的)。Full GC的速度较慢。,垃圾回收的奥秘,对象内存分配&回收实例,垃圾回收的奥秘,对象内存分配&回收实例,垃圾回收的奥秘,对象年龄,Eden,Survivor,Survivor,,+1,,新生代,,老年代,-XX:MaxTenuringThreshold,目录,性能监控与故障处理,,问题定位,理论,数据,工具,经验、知识是定位问题的基础,数据是定位问题的依据,工具是运用知识分析数据的手段,,,性能监控与故障处理,JDK命令行性能监控分析工具,性能监控与故障处理,JDK命令行性能监控分析工具,性能监控与故障处理,JDK命令行性能监控分析工具举例,性能监控与故障处理,JDK可视化性能监控分析工具 ——JConsole,性能监控与故障处理,JDK可视化性能监控分析工具 ——JConsole,性能监控与故障处理,JDK可视化性能监控分析工具 ——VisualVM,显示虚拟机进程、VM参数信息,1,VisualVM,2,3,4,5,监视线程、堆、GC信息,dump及分析堆转储快照,方法级程序性能分析,运行次数、时长,支持插件扩展,性能监控与故障处理,JDK可视化性能监控分析工具 ——VisualVM案例,The end,thank you!,,
展开阅读全文
  微传网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
0条评论

还可以输入200字符

暂无评论,赶快抢占沙发吧。

关于本文
本文标题:java虚拟机及性能调优.ppt
链接地址:https://www.weizhuannet.com/p-3023.html
微传网是一个办公文档、学习资料下载的在线文档分享平台!

网站资源均来自网络,如有侵权,请联系客服删除!

 网站客服QQ:80879498  会员QQ群:727456886

copyright@ 2018-2028 微传网络工作室版权所有

     经营许可证编号:冀ICP备18006529号-1 ,公安局备案号:13028102000124

收起
展开