Java之Jvm调优
1 | 无监控,不调优 |
1 | Java虚拟机在执行字节码时,实际上最终还是把字节码解释成具体平台上的机器指令执行 |
Java内存结构
java内存主要分为6部分,分别是程序计数器,虚拟机栈,本地方法栈,堆,方法区/永久区和直接内存


程序计数器
1 | 程序计数器(Program Counter Register)是一块比较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器; |
虚拟机栈
本地方法栈
堆[能优化的部分]
新生代、老生代
1 | 和程序开发密切相关 |
方法区/永久区
1 | 保存装载的类信息 |
直接内存
堆内存的构成
堆内存参数调整
用VisualVM观察虚拟机堆信息
总结
线程私有的数据区域
1 | Java虚拟机栈(Java Stack) |
线程共有的数据区域
1 | 堆(Java Heap) |
Java监控工具
jconsole
1 | jconsole是一种集成了上面所有命令功能的可视化工具,可以分析jvm的内存使用情况和线程等信息 |
jvisualvm
1 | 提供了和jconsole的功能类似,提供了一大堆的插件 |
垃圾收集算法
垃圾收集器选择
调优Tomcat并使用JMeter进行评测
本文作者 : Matrix
原文链接 : https://matrixsparse.github.io/2017/06/28/Java之Jvm调优/
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
知识 & 情怀 | 二者兼得