JVM调优工具

JAVA基础工具

jar 创建和管理jar文件

java java运行工具,用于运行.class字节码和.jar文件

javac 用于java编程语言的编译器

javadoc api文档生成器

javah  用于编写native方法

javap class文件反汇编为源文件

JSP

jps查看其进程id

在这里插入图片描述

Jmap

可以用来查看内存信息,实例个数以及占用内存大小

查看实例个数以及占用内存大小

进入D 盘 jmap -histo 21296 > ./log.txt

在这里插入图片描述

log内容

在这里插入图片描述

num:序号 
instances:实例数量 
bytes:占用空间大小 
class name:类名称,[C is a char[][S is a short[][I is a int[][B is a byte[][[I is a int[][] 

堆大小

jmap -heap 21296

在这里插入图片描述

瞬时堆内存dump

jmap ‐dump:format=b,file=eureka.hprof 21296 

也可以设置内存溢出自动导出dump文件(内存很大的时候,可能会导不出来)

-XX:+HeapDumpOnOutOfMemoryError 
-XX:HeapDumpPath=./log.txt

jstat

JVM性能统计工具

显示加载class 的数量
jstat -class pid

查看gc信息,gc次数和时间
jstat -gc pid

监控堆年轻代老年代使用量和剩余大小

jhat

java 堆分析工具,分析堆内存对象信息

Jstack

jstack 进程id

找出死锁、查出GC次数和时间

jstat -gc PID
JVM信息和GC信息
S0C:这是From Survivor区的大小
S1C:这是To Survivor区的大小
S0U:这是From Survivor区当前使用的内存大小
S1U:这是To Survivor区当前使用的内存大小
EC:这是Eden区的大小
EU:这是Eden区当前使用的内存大小
OC:这是老年代的大小
OU:这是老年代当前使用的内存大小
MC:这是方法区(永久代、元数据区)的大小
MU:这是方法区(永久代、元数据区)的当前使用的内存大小
YGC:这是系统运行迄今为止的Young GC次数
YGCT:这是Young GC的耗时
FGC:这是系统运行迄今为止的Full GC次数
FGCT:这是Full GC的耗时
GCT:这是所有GC的总耗时

Jinfo

jinfo不仅可以查看运行时某一个Java虚拟机参数的实际取值, 甚至可以在运行时修改部分参 数,并使之立即生效

JVisualVm

JVisualVM是JDK自带的性能检测工具,路径在%JAVA_HOME%/bin下面。双击打开,

jvisualvm

在这里插入图片描述

在这里插入图片描述

**概述:**该JVM进程的主类,参数和详细的jvm参数等

**监视:**包含CPU,堆(内存),类的加载和启动的线程等信息

**线程:**线程相关的信息

**抽样:**可对CPU、内存进行抽样

Jconsole

简易版jvisualvm

jconsole 进程id

在这里插入图片描述

参考:https://blog.csdn.net/WODESHENNI/article/details/111225211

考题

1.运用下列哪个命令能够获取JVM的内存映像

正确答案: B
A: jinfo
B: jmap
C: jhat
D: jstat

1、jps:查看本机java进程信息。
2、jstack:打印线程的栈信息,制作线程dump文件。
3、jmap:打印内存映射,制作堆dump文件
4、jstat:性能监控工具
5、jhat:内存分析工具
6、jconsole:简易的可视化控制台
7、jvisualvm:功能强大的控制台

2.以下哪项不属于java类加载过程?

正确答案: B
A: 生成java.lang.Class对象
B: int类型对象成员变量赋予默认值
C: 执行static块代码
D: 类方法解析

类的加载包括:加载,验证,准备,解析,初始化。
选项A:生成java.lang.Class对象是在加载时进行的。生成Class对象作为方法区这个类的各种数据的访问入口。
选项B:既然是对象成员,那么肯定在实例化对象后才有。在类加载的时候会赋予初值的是类变量,而非对象成员。
选项C:这个会调用。可以用反射试验。
选项D:类方法解析发生在解析过程。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值