visualvm工具使用教程

Jvisualvm工具使用教程。一、插件安装:jvisualvm是随jdk一同发布的jvm诊断工具,通过插件可以扩展很多功能,插件扩展也是jvisualvm的精华所在。

一、插件安装

jvisualvm是随jdk一同发布的jvm诊断工具,通过插件可以扩展很多功能,插件扩展也是jvisualvm的精华所在。
打开该工具,通过菜单“工具”—>“插件”开发以下对话框:
这里写图片描述
在可用插件tab中选择需要安装的插件,本博文中需要用到两个插件如上图中的方框所示。

二、调整IDEA类加载速度

本部分的时间测量用到插件Visual GC。

IDEA在启动时,由于加载很多的类,占用了较长的时间,其实在加载这些类时,还有很重要的一步就是验证这些加载的类。平时我们都是在组内开发工程,可以认为这些加载的编译代码是可靠的,不需要在加载的视乎再进行字节码验证。我们可以通过参数-Xverify:none禁止字节码验证,加快IDEA的启动过程。
这个参数要加载IDEA的配置文件中,一般情况下,配置文件在个人目录下:
这里写图片描述
修改后的配置文件如下:

-Xms512m -Xmx1500m -XX:ReservedCodeCacheSize=240m -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50 -ea -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -XX:MaxJavaStackTraceDepth=-1 -agentlib:yjpagent64=probe_disable=*,disablealloc,disabletracing,onlylocal,disableexceptiontelemetry,delay=10000,sessionname=IntelliJIdea2017.2 -Xverify:none

这些参数也可在jvisualvm的概述面板下看到:
这里写图片描述

通过添加参数-Xverify:none配置后,类加载速度提高30s以上。可以通过visual vm插件面板查看:
这里写图片描述

根据visual vm中面板的显示内容,我们还可以调整jvm堆的设置,尽情探索吧~

三、BTrace

获取返回值,参数等信息

1.测试代码

public class JdkTest { public int sum(int a, int b) { return a + b; }  public static void main(String[] args) { JdkTest t = new JdkTest(); System.out.println(t.sum(10, 20)); } }

2.BTrace代码

@BTrace public class TracingScript { /* put your code here */ @OnMethod( clazz="com.test.JdkTest", method="sum", location=@Location(Kind.RETURN))  public static void func(@Self com.test.JdkTest instance,int a, int b, @Return int result){ println("调用堆栈:"); jstack(); println(strcat("方法参数A:",str(a))); println(strcat("方法参数B:",str(b))); println(strcat("方法结果:",str(result))); } }

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值