jvm调优案例分析-window通过jstack查找死锁的进程

我们经常会遇到java程序遇死锁的问题,也会经常遇到。

案例

以下是案例代码:

package com.dzend.mall.order;

public class JstackLockDemo {


    public static final int initData =666;
    public static User user = new User();

    public int compute(){
        int a=1;
        int b=2;
        int c=(a+b)*10;
        return c;
    }

    public static void main(String[] args) {
        JstackLockDemo jstackLockDemo = new JstackLockDemo();
        while(true) {
            jstackLockDemo.compute();
        }
    }
}
class User{
    private int id;
    private String username;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }
}

一、运行这个程序JstackLockDemo

二、用jps找出当前的pid

pid为1836

三、启动Process Explorer

1、下载地址:

进程资源管理器 - Sysinternals | Microsoft Learn了解哪些文件、注册表项和其他对象进程已打开,它们已加载了哪些 DLL 等。icon-default.png?t=N7T8https://docs.microsoft.com/zh-cn/sysinternals/downloads/process-explorer

2、下载完,启动程序

3、找到pid为1836的进程,右键properties

4、查找到cpu资源使用高的的线程,线程ID:23396

四、用jstack工具收集该进程日志

1、在命令行输入

jstack 1836 > d://1836.out

 2、到d盘去查看,已经保存了1836.out

3、用记事本打开查看详细信息

把23396转化成16进制的5b64,用查找5b64

就能看到第19行的代码有问题,再进一步分析

相关推荐

  1. JVM jstat 与 jstack

    2024-04-10 12:56:01       24 阅读
  2. JVM 21 指南:如何进行JVMJVM参数

    2024-04-10 12:56:01       59 阅读
  3. 如何进行JVM

    2024-04-10 12:56:01       33 阅读
  4. jvm内存工具概览 jps、jstat、jinfo、jmap、jstack

    2024-04-10 12:56:01       36 阅读
  5. JVM 17 指南:如何进行JVMJVM参数

    2024-04-10 12:56:01       49 阅读
  6. JVM 11 指南:如何进行JVMJVM参数

    2024-04-10 12:56:01       51 阅读
  7. JVM 8 指南:如何进行JVMJVM参数

    2024-04-10 12:56:01       56 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-10 12:56:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-10 12:56:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-10 12:56:01       82 阅读
  4. Python语言-面向对象

    2024-04-10 12:56:01       91 阅读

热门阅读

  1. 自己总结的ICT云计算题库二

    2024-04-10 12:56:01       25 阅读
  2. 自己总结的ICT云计算题库

    2024-04-10 12:56:01       25 阅读
  3. 30个商业赚钱的思考(上)

    2024-04-10 12:56:01       31 阅读
  4. 使用wangeditor富文本插件,自定义上传到七牛

    2024-04-10 12:56:01       32 阅读
  5. C# 抽象类、接口

    2024-04-10 12:56:01       38 阅读
  6. [C++][算法基础]排列数字(DFS)

    2024-04-10 12:56:01       35 阅读
  7. C++数据类型

    2024-04-10 12:56:01       34 阅读
  8. LeetCode //C - 275. H-Index II

    2024-04-10 12:56:01       39 阅读
  9. python蓝桥杯选数

    2024-04-10 12:56:01       32 阅读
  10. Hugging Face Transformers 微调--利用 SQuAD 做问答任务

    2024-04-10 12:56:01       27 阅读
  11. websocket调用http接口

    2024-04-10 12:56:01       34 阅读
  12. 为什么K8s需要服务网格Istio?

    2024-04-10 12:56:01       30 阅读