栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java VisualVM使用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java VisualVM使用

注意:
VisualVM has also been distributed in Oracle JDK 6~8 as Java VisualVM. It has been discontinued in Oracle JDK 9. See the Upgrading Java VisualVM page to learn how to upgrade to the latest VisualVM.
原来从jdk 9开始, visualVM不再集成在Oracle JDK中, 需要单独下载安装
下载地址: https://visualvm.github.io/download.html
下载之后,解压到JDK目录下,层级对应覆盖即可。然后在如图位置进行配置。(如果setting中没有图中的设置,请到plugins中下载"VisualVM Launcher"插件)



可视化简直太棒了

使用

一.生成、浏览堆转储快照


生成对应的堆转储文件

通过左侧列表可以查看到当前堆转储文件节点,并且可以进行相应的保存等操作,同时可以通过File菜单中load进行已保存的堆转储文件的加载

二.Btrace使用
示例代码

package com.good.test;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Demo2 {
    public int add(int a, int b) {
        return a + b;
    }

    public static void main(String[] args) throws IOException, InterruptedException {
        Demo2 test = new Demo2();
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        for (int i = 0; i < 10000; i++) {
            reader.readLine();
            int a = (int) Math.round(Math.random() * 1000);
            int b = (int) Math.round(Math.random() * 1000);
            System.out.println(test.add(a, b));
        }
    }
}
可以在idea中以VisualVM方式运行
找到对应进程节点,右键打开Tracce Application然后进行代码插入编写

import org.openjdk.btrace.core.annotations.*;
import static org.openjdk.btrace.core.BTraceUtils.*;

@BTrace
public class Tracingscript {


@OnMethod(clazz="com.good.test.Demo2", method="add", location=@Location(Kind.RETURN))

public static void func(@Self com.good.test.Demo2 instance,int a, int b,@Return int result) {
     println("调用堆栈:"); 
     jstack();
     println(strcat("方法参数A:",str(a)));
     println(strcat("方法参数B:",str(b)));
      println(strcat("方法结果:",str(result)));
 }
}


点击start后可以通过不断输入字符回车发现我们插入的日志已经显示出来了
这个场景非常适用不用停止服务器进行异常数据排查

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/759765.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号