Arthas快速入门 Arthas快速上手指南(3)
导读:Arthas快速入门,4. 快速入门:attach一个进程 步骤 1. 准备代码 以下是一个简单的Java程序,每隔一秒生成一个随机数,再执行质因数分解,并打印出分解结果。 代码的内容
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代码

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

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快速入门的详细内容了,IT袋网网希望能给您带来帮助!
相关阅读
-
Redis主从复制原理和复制方式详解
如果想了解Redis主从复制原理和复制方式详解的相关经验,具体内容如下: Redis中主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器(数据备份了)。 被复制的服务器称为主服
-
C++树的重心和直径 求解C语言中树的中心节点与最长路径
一个电脑小知识,为大家介绍C++树的重心和直径方面的知识,接下来就是全面介绍。 1. 重心 什么是树的重心? 物理学而言,重心是指地球对物体中每一微小部分引力的合力作用点,物体受力
-
什么叫数据库 数据库基础知识详解
如果想了解什么叫数据库的相关话题,很不错的方法小知识,建议收藏哦! 1. 数据库定义 数据库(Database)是一个组织化、持久化存储的数据集合,用于存储、管理和检索信息。 数据库的主要
-
Vue开发者必备:常用UI组件库详解
今日小编为你讲解Vue开发者必备的相关介绍,下面小编为您详细解答 Vue.js 是一种流行的JavaScript框架,用于创建用户界面。 为了提高开发效率,开发者可以使用现成的UI组件库,这些库提供了


