IT袋

当前位置:主页 > 经验教程 > 建站编程 >

Arthas快速入门

Arthas快速入门 Arthas快速上手指南(3)

时间:2024-03-20 15:00:13 来源:IT袋 作者:马勇
导读:Arthas快速入门,4. 快速入门:attach一个进程 步骤 1. 准备代码 以下是一个简单的Java程序,每隔一秒生成一个随机数,再执行质因数分解,并打印出分解结果。 代码的内容

Arthas快速入门

Arthas快速入门

4. 快速入门:attach一个进程

步骤

1. 准备代码

以下是一个简单的Java程序,每隔一秒生成一个随机数,再执行质因数分解,并打印出分解结果。

代码的内容不用理会这不是现在关注的点。

public class MathGame {
    private static Random random = new Random();
    public int illegalArgumentCount = 0;
    public List<Integer> primeFactors(int number) {
        if (number < 2) {
            ++this.illegalArgumentCount;
            throw new IllegalArgumentException("number is: " + number + ", need >= 2");
        }
        ArrayList<Integer> result = new ArrayList<Integer>();
        int i = 2;
        while (i <= number) {
            if (number % i == 0) {
                result.add(i);
                number /= i;
                i = 2;
                continue;
            }
            ++i;
        }
        return result;
    }
    public static void main(String[] args) throws InterruptedException {
        MathGame game = new MathGame();
        do {
            game.run();
            TimeUnit.SECONDS.sleep(1L);
            System.out.println("在main函数中循环体内");
        } while (true);
    }
    public void run() throws InterruptedException {
        System.out.println("-- 计算中的函数 -- ");
        try {
            int number = random.nextInt() / 10000;
            List<Integer> primeFactors = this.primeFactors(number);
            MathGame.print(number, primeFactors);
        }
        catch (Exception e) {
            System.out.println(String.format("illegalArgumentCount:%3d, ", this.illegalArgumentCount) + e.getMessage());
        }
    }
    public static void print(int number, List<Integer> primeFactors) {
        StringBuffer sb = new StringBuffer(number + "=");
        for (int factor : primeFactors) {
            sb.append(factor).append('*');
        }
        if (sb.charAt(sb.length() - 1) == '*') {
            sb.deleteCharAt(sb.length() - 1);
        }
        System.out.println(sb);
    }
}

注意:上面代码实际上就是math-game.jar代码

Arthas快速入门

2. 启动Demo
  • jar包运行
java -jar arthas-demo.jar
  • 或者idea运行步骤一代码

Arthas快速入门

3. 启动arthas
  • 因为arthas-demo.jar进程打开了一个窗口,所以另开一个命令窗口执行arthas-boot.jar
  • 选择要粘附的进程:arthas-demo.jar
  • 如果端口号被占用,也可以通过以下命令换成另一个端口号执行
java -jar arthas-boot.jar --telnet-port 9998 --http-port -1

4. 通过浏览器连接arthas

Arthas目前支持Web Console,用户在attach成功之后,可以直接访问:http://127.0.0.1:3658/。

可以填入IP,远程连接其它机器上的arthas。

Arthas快速入门

上述的关于Arthas快速入门的详细内容了,IT袋网网希望能给您带来帮助!

相关阅读

  • Redis主从复制原理和复制方式详解

    Redis主从复制原理和复制方式详解

    如果想了解Redis主从复制原理和复制方式详解的相关经验,具体内容如下: Redis中主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器(数据备份了)。 被复制的服务器称为主服

  • C++树的重心和直径 求解C语言中树的中心节点与最长路径

    C++树的重心和直径 求解C语言中树的中心节点与最长路径

    一个电脑小知识,为大家介绍C++树的重心和直径方面的知识,接下来就是全面介绍。 1. 重心 什么是树的重心? 物理学而言,重心是指地球对物体中每一微小部分引力的合力作用点,物体受力

  • 什么叫数据库 数据库基础知识详解

    什么叫数据库 数据库基础知识详解

    如果想了解什么叫数据库的相关话题,很不错的方法小知识,建议收藏哦! 1. 数据库定义 数据库(Database)是一个组织化、持久化存储的数据集合,用于存储、管理和检索信息。 数据库的主要

  • Vue开发者必备:常用UI组件库详解

    Vue开发者必备:常用UI组件库详解

    今日小编为你讲解Vue开发者必备的相关介绍,下面小编为您详细解答 Vue.js 是一种流行的JavaScript框架,用于创建用户界面。 为了提高开发效率,开发者可以使用现成的UI组件库,这些库提供了