java虚拟机及性能调优_第1页
java虚拟机及性能调优_第2页
java虚拟机及性能调优_第3页
java虚拟机及性能调优_第4页
java虚拟机及性能调优_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JAVA虚拟机及性能调优

@周立伟目录JAVA是什么1JVM是什么2JAVA是什么使用用户最多、使用范围最广泛JAVAJAVAAPIJVM编程脚本第三方框架JDKJREJAVA是什么Lambda

JAVA是什么淘宝开源JAVA是什么

简单,容易入门自动内存管理一处编译,到处运行2341面向对象java特点目录JVM是什么2JAVA是什么1JVM是什么JVM种类HotSpotJRockitJ9SUN使用最新的CMS垃圾收集器,并发性高BEA号称世界速度最快的虚拟机,垃圾收集器处于世界领先水平。IBM市场定位类似HotSpot,支持效劳器端、桌面应用、嵌入式等多个领域,主要用于IBM自己的Java产品websphereJVM是什么JVM生命周期启动运行消亡

JVM是什么JVM内存布局方法区虚拟机栈本地方法栈堆程序计数器执行引擎本地库接口本地方法库

JVM是什么JVM内存布局--执行引擎在执行方法时JVM提供了四种指令来执行:invokestatic:调用类的static方法invokevirtual:调用对象实例的方法invokeinterface:将属性定义为接口来进行调用invokespecial:JVM对于初始化对象〔Java构造器的方法为:<init>〕以及调用对象实例中的私有方法时。JVM是什么JVM对象new指令类加载检查分配内存〔两种方式〕完成对象设置内存初始化JVM创立对象结束JAVA创立对象开始!JVM是什么对象访问定位---句柄

intshortreferencefloatdouble句柄池到对象实例数据的指针到对象类型数据的指针实例池对象实例数据对象类型数据heap方法区jvmstack〔本地变量表〕JVM是什么对象访问定位---指针

intshortreferencefloatdouble句柄池到对象实例数据的指针对象实例数据对象类型数据heap方法区jvmstack〔本地变量表〕JVM是什么OOM分析--内存参数-XX:+HeapDumpOnOutOfMemoryErrorXms最小heap内存Xmx最大heap内存Xmnheap内存中新生代的大小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、常量池内存异常,尽量防止创立长度较大字符串

目录垃圾回收的奥秘3性能监控与故障处理4

垃圾回收的奥秘为什么进行垃圾回收

heapClassLoader

GC

垃圾回收的奥秘哪些内存需要回收

引用计数算法二次标记231可达性分析算法算法对象存活判定

垃圾回收的奥秘引用计数器算法

反面例子

垃圾回收的奥秘可达性分析算法

GCROOTSobject1object3object2object4object7object6object5

垃圾回收的奥秘

可达性分析算法虚拟机栈中引用的对象方法区常量引用的对象本地方法中JNI引用的对象2341方法区静态属性引用的对象GCROOTS

垃圾回收的奥秘二次标记可达性分析不可达对象finalize()F-Queue

第一次标记

筛选

第二次标记逃脱死亡死亡

垃圾回收的奥秘垃圾收集算法标记--去除算法标记--整理算法231复制算法算法对象如何回收3分代收集算法

垃圾回收的奥秘标记--去除算法

垃圾回收的奥秘标记--整理算法

垃圾回收的奥秘标记--复制算法

EdenSurvivorSurvivor811新生代存活的对象老年代

垃圾回收的奥秘分代收集算法

新生代-----复制收集老年代-----标记去除/标记整理

垃圾回收的奥秘垃圾收集器

垃圾回收的奥秘垃圾收集器参数SurvivorRatioPretenureSizeThresholdMaxTenuringThresholdParallelGCThreadsMaxGCPauseMillis

垃圾回收的奥秘GC类型新生代GC(MinorGC):

发生在新生代的垃圾收集动作,因为java对象大多数是朝生夕死的,所以MinorGC非常频繁,回收速度较快。老年代GC(FullGC)

发生在老年代的垃圾收集动作,出现FullGC,会先执行一次MinorGC(不是绝对的)。FullGC的速度较慢。

垃圾回收的奥秘对象内存分配&回收实例

垃圾回收的奥秘对象内存分配&回收实例

垃圾回收的奥秘对象年龄

EdenSurvivorSurvivor

+1

新生代老年代-XX:MaxTenuringThreshold目录性能监控与故障处理4垃圾回收的奥秘3

性能监控与故障处理问题定位理论数据工具经验、知识是定位问题的根底数据是定位问题的依据工具是运用知识分析数据的手段

性能监控与故障处理JDK命令行性能监控分析工具

性能监控与故障处理JDK命令行性能监控分析工具

性能监控与故障处理JDK命令行性能监控分析工具举例

性能监控与故障处理JDK可视化性能监控分析工具——JConsole

性能监控与故障处理JDK可视化性能监控分析工具——JConsole

性能监控与故障处理

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论