<!DOCTYPE html>
< html lang = "en-US" >
< head >
< meta charset = "utf-8" >
< meta name = "viewport" content = "width=device-width,initial-scale=1" >
< meta name = "generator" content = "VuePress 2.0.0-beta.51" >
< style >
:root {
--c-bg: #fff;
}
html.dark {
--c-bg: #22272e;
}
html, body {
background-color: var(--c-bg);
}
< / style >
< script >
const userMode = localStorage.getItem('vuepress-color-scheme');
const systemDarkMode = window.matchMedia & & window.matchMedia('(prefers-color-scheme: dark)').matches;
if (userMode === 'dark' || (userMode !== 'light' & & systemDarkMode)) {
document.documentElement.classList.toggle('dark', true);
}
< / script >
< link rel = "icon" href = "/images/favicon.ico" > < meta name = "viewport" content = "width=device-width, initial-scale=1.0" > < meta property = "og:title" content = "Arthas" > < meta property = "og:image:alt" content = "Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas - alibaba/arthas: Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas" > < meta property = "og:image" content = "/images/arthas_mate_image.png" > < meta property = "og:description" content = "Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas - alibaba/arthas: Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas" > < meta property = "og:image:width" content = "1200" > < meta property = "og:image:height" content = "600" > < meta property = "twitter:image:src" content = "/images/arthas_mate_image.png" > < meta property = "twitter:image:alt" content = "Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas - alibaba/arthas: Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas" > < meta itemprop = "name" content = "Arthas" > < meta itemprop = "image" content = "/images/arthas_mate_image.png" > < meta itemprop = "description" content = "Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas - alibaba/arthas: Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas" > < script >
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?d5c5e25b100f0eb51a4c35c8a86ea9b4";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
< / script > < meta name = "aes-config" content = "pid=xux-opensource&user_type=101&uid=&username=" > < script src = "//g.alicdn.com/alilog/mlog/aplus_v2.js" id = "beacon-aplus" exparams = "clog=o&aplus&sidx=aplusSidx&ckx=aplusCkx" > < / script > < script src = "//g.alicdn.com/aes/??tracker/1.0.34/index.js,tracker-plugin-pv/2.4.5/index.js,tracker-plugin-event/1.2.5/index.js,tracker-plugin-jserror/1.0.13/index.js,tracker-plugin-api/1.1.14/index.js,tracker-plugin-perf/1.1.8/index.js,tracker-plugin-eventTiming/1.0.4/index.js" > < / script > < title > Quick Start | arthas< / title > < meta name = "description" content = "arthas user document" >
< link rel = "modulepreload" href = "/assets/app.b8f28394.js" > < link rel = "modulepreload" href = "/assets/quick-start.html.51373b6d.js" > < link rel = "modulepreload" href = "/assets/quick-start.html.010cde87.js" > < link rel = "prefetch" href = "/assets/index.html.4710759f.js" > < link rel = "prefetch" href = "/assets/index.html.b82e60b6.js" > < link rel = "prefetch" href = "/assets/index.html.47de61d0.js" > < link rel = "prefetch" href = "/assets/advanced-use.html.7af41ed0.js" > < link rel = "prefetch" href = "/assets/advice-class.html.0fbee513.js" > < link rel = "prefetch" href = "/assets/agent.html.c69bb369.js" > < link rel = "prefetch" href = "/assets/arthas-properties.html.ec9e34a7.js" > < link rel = "prefetch" href = "/assets/arthas3.html.6f8a1b46.js" > < link rel = "prefetch" href = "/assets/async.html.77838888.js" > < link rel = "prefetch" href = "/assets/auth.html.e9c19ade.js" > < link rel = "prefetch" href = "/assets/base64.html.bede7a83.js" > < link rel = "prefetch" href = "/assets/batch-support.html.1b6f5b00.js" > < link rel = "prefetch" href = "/assets/cat.html.884da075.js" > < link rel = "prefetch" href = "/assets/classloader.html.fd7544ef.js" > < link rel = "prefetch" href = "/assets/cls.html.1a584735.js" > < link rel = "prefetch" href = "/assets/commands.html.96c18ca1.js" > < link rel = "prefetch" href = "/assets/contact-us.html.966d3402.js" > < link rel = "prefetch" href = "/assets/dashboard.html.d19c1ce5.js" > < link rel = "prefetch" href = "/assets/docker.html.ff6648d8.js" > < link rel = "prefetch" href = "/assets/download.html.17f7b1d7.js" > < link rel = "prefetch" href = "/assets/dump.html.b770ec31.js" > < link rel = "prefetch" href = "/assets/echo.html.13a90cb0.js" > < link rel = "prefetch" href = "/assets/faq.html.0ae329d6.js" > < link rel = "prefetch" href = "/assets/getstatic.html.bceeb20f.js" > < link rel = "prefetch" href = "/assets/grep.html.f39bef00.js" > < link rel = "prefetch" href = "/assets/groovy.html.ff092ae3.js" > < link rel = "prefetch" href = "/assets/heapdump.html.304710b2.js" > < link rel = "prefetch" href = "/assets/help.html.2953c2ac.js" > < link rel = "prefetch" href = "/assets/history.html.78884cf1.js" > < link rel = "prefetch" href = "/assets/http-api.html.c4a2d084.js" > < link rel = "prefetch" href = "/assets/idea-plugin.html.1d460f41.js" > < link rel = "prefetch" href = "/assets/install-detail.html.6858e5b4.js" > < link rel = "prefetch" href = "/assets/jad.html.74e64c94.js" > < link rel = "prefetch" href = "/assets/jfr.html.4409b634.js" > < link rel = "prefetch" href = "/assets/jvm.html.dfd16149.js" > < link rel = "prefetch" href = "/assets/keymap.html.1f4058d9.js" > < link rel = "prefetch" href = "/assets/logger.html.b9a5fc3a.js" > < link rel = "prefetch" href = "/assets/manual-install.html.032e3ad1.js" > < link rel = "prefetch" href = "/assets/mbean.html.c4b6181d.js" > < link rel = "prefetch" href = "/assets/mc.html.e7ef3234.js" > < link rel = "prefetch" href = "/assets/memory.html.8f197f94.js" > < link rel = "prefetch" href = "/assets/monitor.html.1a9e3203.js" > < link rel = "prefetch" href = "/assets/ognl.html.e844f678.js" > < link rel = "prefetch" href = "/assets/options.html.c5b2502d.js" > < link rel = "prefetch" href = "/assets/perfcounter.html.0017bc1c.js" > < link rel = "prefetch" href = "/assets/profiler.html.d5dff026.js" > < link rel = "prefetch" href = "/assets/pwd.html.b5869172.js" > < link rel = "prefetch" href = "/assets/quick-start.html.baa4d023.js" > < link rel = "prefetch" href = "/assets/quit.html.d4b1deec.js" > < link rel = "prefetch" href = "/assets/redefine.html.f435713e.js" > < link rel = "prefetch" href = "/assets/release-notes.html.3b9e6f5d.js" > < link rel = "prefetch" href = "/assets/reset.html.bf4269d2.js" > < link rel = "prefetch" href = "/assets/retransform.html.dd188365.js" > < link rel = "prefetch" href = "/assets/save-log.html.a1e023a5.js" > < link rel = "prefetch" href = "/assets/sc.html.dd2f6580.js" > < link rel = "prefetch" href = "/assets/session.html.845073de.js" > < link rel = "prefetch" href = "/assets/sm.html.3eaf6ab4.js" > < link rel = "prefetch" href = "/assets/spring-boot-starter.html.fca54f6f.js" > < link rel = "prefetch" href = "/assets/stack.html.9a709964.js" > < link rel = "prefetch" href = "/assets/start-arthas.html.26165879.js" > < link rel = "prefetch" href = "/assets/stop.html.a10e5134.js" > < link rel = "prefetch" href = "/assets/sysenv.html.d77899be.js" > < link rel = "prefetch" href = "/assets/sysprop.html.3641f71d.js" > < link rel = "prefetch" href = "/assets/tee.html.
< link rel = "stylesheet" href = "/assets/style.da1934a3.css" >
< / head >
< body >
< div id = "app" > <!-- [ --> < div class = "theme-container" > <!-- [ --> < header class = "navbar" > < div class = "toggle-sidebar-button" title = "toggle sidebar" aria-expanded = "false" role = "button" tabindex = "0" > < div class = "icon" aria-hidden = "true" > < span > < / span > < span > < / span > < span > < / span > < / div > < / div > < span > < a href = "/en/" class = "" data-v-61144abc > <!-- --> < span class = "site-name can-hide" data-v-61144abc > arthas< / span > < span class = "navbar-version" data-v-61144abc > v3.6.6< / span > < / a > < / span > < div class = "navbar-items-wrapper" style = "" > <!-- [ --> <!-- ] --> < nav class = "navbar-items can-hide" > <!-- [ --> < div class = "navbar-item" > < a href = "/en/" class = "" aria-label = "HOME" > <!-- [ --> <!-- ] --> HOME <!-- [ --> <!-- ] --> < / a > < / div > < div class = "navbar-item" > < a class = "external-link" href = "/doc/arthas-tutorials.html?language=en&id=arthas-basics" rel = "noopener noreferrer" target = "_blank" aria-label = "ONLINE TUTORIALS" > <!-- [ --> <!-- ] --> < span > ONLINE TUTORIALS< / span > < span > < svg class = "external-link-icon" xmlns = "http://www.w3.org/2000/svg" aria-hidden = "true" focusable = "false" x = "0px" y = "0px" viewbox = "0 0 100 100" width = "15" height = "15" > < path fill = "currentColor" d = "M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z" > < / path > < polygon fill = "currentColor" points = "45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9" > < / polygon > < / svg > < span class = "external-link-icon-sr-only" > open in new window< / span > < / span > <!-- [ --> <!-- ] --> < / a > < / div > < div class = "navbar-item" > < a href = "/en/doc" class = "router-link-active" aria-label = "DOCS" > <!-- [ --> <!-- ] --> DOCS <!-- [ --> <!-- ] --> < / a > < / div > < div class = "navbar-item" > < a href = "/en/doc/commands.md" class = "" aria-label = "COMMANDS" > <!-- [ --> <!-- ] --> COMMANDS <!-- [ --> <!-- ] --> < / a > < / div > < div class = "navbar-item" > < a href = "/en/doc/download.md" class = "" aria-label = "DOWNLOAD" > <!-- [ --> <!-- ] --> DOWNLOAD <!-- [ --> <!-- ] --> < / a > < / div > < div class = "navbar-item" > < div class = "navbar-dropdown-wrapper" > < button class = "navbar-dropdown-title" type = "button" aria-label = "SOLUTIONS" > < span class = "title" > SOLUTIONS< / span > < span class = "arrow down" > < / span > < / button > < button class = "navbar-dropdown-title-mobile" type = "button" aria-label = "SOLUTIONS" > < span class = "title" > SOLUTIONS< / span > < span class = "right arrow" > < / span > < / button > < ul style = "display:none;" class = "navbar-dropdown" > <!-- [ --> < li class = "navbar-dropdown-item" > < a class = "external-link" href = "https://cn.aliyun.com/product/aliware/mse?spm=arthas.topbar.0.0.0" rel = "noopener noreferrer" target = "_blank" aria-label = "Microservice solutions" > <!-- [ --> <!-- ] --> < span > Microservice solutions< / span > < span > < svg class = "external-link-icon" xmlns = "http://www.w3.org/2000/svg" aria-hidden = "true" focusable = "false" x = "0px" y = "0px" viewbox = "0 0 100 100" width = "15" height = "15" > < path fill = "currentColor" d = "M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z" > < / path > < polygon fill = "currentColor" points = "45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9" > < / polygon > < / svg > < span class = "external-link-icon-sr-only" > open in new window< / span > < / span > <!-- [ --> <!-- ] --> < / a > < / li > < li class = "navbar-dropdown-item" > < a class = "external-link" href = "https://www.aliyun.com/aliware/txc?spm=arthas.topbar.0.0.0" rel = "noopener noreferrer" target = "_blank" aria-label = "Distributed transaction solutions" > <!-- [ --> <!-- ] --> < span > Distributed transaction solutions< / span > < span > < svg class = "external-link-icon" xmlns = "http://www.w3.org/2000/svg" aria-hidden = "true" focusable = "false" x = "0px" y = "0px" viewbox = "0 0 100 100" width = "15" height = "15" > < path fill = "currentColor" d = "M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z" > < / path > < polygon fill = "currentColor" points = "45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9" > < / polygon > < / svg > < span class = "external-link-icon-sr-only" > open in new window< / span > < / span > <!-- [ --> <!-- ] --> < / a > < / li > < li class = "navbar-dropdown-item" > < a class = "external-link" href = "https://www.aliyun.com/product/aha
< span class = "token function" > java< / span > < span class = "token parameter variable" > -jar< / span > math-game.jar
< / code > < / pre > < div class = "line-numbers" aria-hidden = "true" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < p > < code > math-game< / code > is a simple program that generates a random number every second, then it finds all prime factors of that number.< / p > < p > The source code of < code > math-game< / code > : < a href = "https://github.com/alibaba/arthas/blob/master/math-game/src/main/java/demo/MathGame.java" target = "_blank" rel = "noopener noreferrer" > View< span > < svg class = "external-link-icon" xmlns = "http://www.w3.org/2000/svg" aria-hidden = "true" focusable = "false" x = "0px" y = "0px" viewbox = "0 0 100 100" width = "15" height = "15" > < path fill = "currentColor" d = "M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z" > < / path > < polygon fill = "currentColor" points = "45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9" > < / polygon > < / svg > < span class = "external-link-icon-sr-only" > open in new window< / span > < / span > < / a > < / p > < h2 id = "_2-start-arthas" tabindex = "-1" > < a class = "header-anchor" href = "#_2-start-arthas" aria-hidden = "true" > #< / a > 2. Start Arthas< / h2 > < h3 id = "linux-unix-mac" tabindex = "-1" > < a class = "header-anchor" href = "#linux-unix-mac" aria-hidden = "true" > #< / a > Linux/Unix/Mac< / h3 > < p > Execute the following command in the command line:< / p > < div class = "language-bash ext-sh line-numbers-mode" > < pre class = "language-bash" > < code > < span class = "token function" > curl< / span > < span class = "token parameter variable" > -O< / span > https://arthas.aliyun.com/arthas-boot.jar
< span class = "token function" > java< / span > < span class = "token parameter variable" > -jar< / span > arthas-boot.jar
< / code > < / pre > < div class = "line-numbers" aria-hidden = "true" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < ul > < li > The user to run this command < em > MUST< / em > have the same privilege as the owner of the target process, as a simple example you can try the following command if the target process is managed by user < code > admin< / code > : < code > sudo su admin & & java -jar arthas-boot.jar< / code > or < code > sudo -u admin -EH java -jar arthas-boot.jar< / code > < / li > < li > If you cannot be able to attach to the target process, please check the logs under < code > ~/logs/arthas< / code > for troubleshooting.< / li > < li > < code > java -jar arthas-boot.jar -h< / code > print usage.< / li > < / ul > < p > Select the target Java process to attach:< / p > < div class = "language-bash ext-sh line-numbers-mode" > < pre class = "language-bash" > < code > $ $ < span class = "token function" > java< / span > < span class = "token parameter variable" > -jar< / span > arthas-boot.jar
* < span class = "token punctuation" > [< / span > < span class = "token number" > 1< / span > < span class = "token punctuation" > ]< / span > : < span class = "token number" > 35542< / span >
< span class = "token punctuation" > [< / span > < span class = "token number" > 2< / span > < span class = "token punctuation" > ]< / span > : < span class = "token number" > 71560< / span > math-game.jar
< / code > < / pre > < div class = "line-numbers" aria-hidden = "true" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < p > The < code > math-game< / code > process is the second as shown above, press ' 2' then ' Enter' . Arthas will attach to the target process, and start to output:< / p > < div class = "language-bash ext-sh line-numbers-mode" > < pre class = "language-bash" > < code > < span class = "token punctuation" > [< / span > INFO< span class = "token punctuation" > ]< / span > Try to attach process < span class = "token number" > 71560< / span >
< span class = "token punctuation" > [< / span > INFO< span class = "token punctuation" > ]< / span > Attach process < span class = "token number" > 71560< / span > success.
< span class = "token punctuation" > [< / span > INFO< span class = "token punctuation" > ]< / span > arthas-client connect < span class = "token number" > 127.0< / span > .0.1 < span class = "token number" > 3658< / span >
,---. ,------. ,--------.,--. ,--. ,---. ,---.
/ O < span class = "token punctuation" > \< / span > < span class = "token operator" > |< / span > .--. < span class = "token string" > ' ' < / span > --. .--< span class = "token string" > ' | ' < / span > --< span class = "token string" > ' | / O \ ' < / span > .-< span class = "token string" > '
| .-. || ' < / span > --< span class = "token string" > ' .' < / span > < span class = "token operator" > |< / span > < span class = "token operator" > |< / span > < span class = "token operator" > |< / span > .--. < span class = "token operator" > ||< / span > .-. < span class = "token operator" > |< / span > < span class = "token variable" > < span class = "token variable" > `< / span > < span class = "token builtin class-name" > .< / span > < span class = "token variable" > `< / span > < / span > -.
< span class = "token operator" > |< / span > < span class = "token operator" > |< / span > < span class = "token operator" > |< / span > < span class = "token operator" > ||< / span > < span class = "token operator" > |< / span > < span class = "token punctuation" > \< / span > < span class = "token punctuation" > \< / span > < span class = "token operator" > |< / span > < span class = "token operator" > |< / span > < span class = "token operator" > |< / span > < span class = "token operator" > |< / span > < span class = "token operator" > |< / span > < span class = "token operator" > ||< / span > < span class = "token operator" > |< / span > < span class = "token operator" > |< / span > < span class = "token operator" > |< / span > .-< span class = "token string" > ' |
`--' < / span > < span class = "token variable" > < span class = "token variable" > `< / span > --' < span class = "token variable" > `< / span > < / span > --< span class = "token string" > ' ' < / span > --< span class = "token string" > ' `--' < / span > < span class = "token variable" > < span class = "token variable" > `< / span > --' < span class = "token variable" > `< / span > < / span > --< span class = "token string" > ' `--' < / span > < span class = "token variable" > < span class = "token variable" > `< / span > --' < span class = "token variable" > `< / span > < / span > -----'
wiki: https://arthas.aliyun.com/doc
version: < span class = "token number" > 3.0< / span > .5.20181127201536
pid: < span class = "token number" > 71560< / span >
time: < span class = "token number" > 2018< / span > -11-28 < span class = "token number" > 19< / span > :16:24
$
< / code > < / pre > < div class = "line-numbers" aria-hidden = "true" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h2 id = "_3-check-the-dashboard" tabindex = "-1" > < a class = "header-anchor" href = "#_3-check-the-dashboard" aria-hidden = "true" > #< / a > 3. Check the Dashboard< / h2 > < p > Type ' < a href = "/en/doc/dashboard.html" class = "" > dashboard< / a > ' and hit ' ENTER' , a brief report on the current process will be shown as below, pls. < code > Ctrl+C< / code > to stop:< / p > < div class = "language-bash ext-sh line-numbers-mode" > < pre class = "language-bash" > < code > $ dashboard
ID NAME GROUP PRIORI STATE %CPU TIME INTERRU DAEMON
< span class = "token number" > 17< / span > pool-2-thread-1 system < span class = "token number" > 5< / span > WAITIN < span class = "token number" > 67< / span > < span class = "token number" > 0< / span > :0 < span class = "token boolean" > false< / span > < span class = "token boolean" > false< / span >
< span class = "token number" > 27< / span > Timer-for-arthas-dashb system < span class = "token number" > 10< / span > RUNNAB < span class = "token number" > 32< / span > < span class = "token number" > 0< / span > :0 < span class = "token boolean" > false< / span > < span class = "token boolean" > true< / span >
< span class = "token number" > 11< / span > AsyncAppender-Worker-a system < span class = "token number" > 9< / span > WAITIN < span class = "token number" > 0< / span > < span class = "token number" > 0< / span > :0 < span class = "token boolean" > false< / span > < span class = "token boolean" > true< / span >
< span class = "token number" > 9< / span > Attach Listener system < span class = "token number" > 9< / span > RUNNAB < span class = "token number" > 0< / span > < span class = "token number" > 0< / span > :0 < span class = "token boolean" > false< / span > < span class = "token boolean" > true< / span >
< span class = "token number" > 3< / span > Finalizer system < span class = "token number" > 8< / span > WAITIN < span class = "token number" > 0< / span > < span class = "token number" > 0< / span > :0 < span class = "token boolean" > false< / span > < span class = "token boolean" > true< / span >
< span class = "token number" > 2< / span > Reference Handler system < span class = "token number" > 10< / span > WAITIN < span class = "token number" > 0< / span > < span class = "token number" > 0< / span > :0 < span class = "token boolean" > false< / span > < span class = "token boolean" > true< / span >
< span class = "token number" > 4< / span > Signal Dispatcher system < span class = "token number" > 9< / span > RUNNAB < span class = "token number" > 0< / span > < span class = "token number" > 0< / span > :0 < span class = "token boolean" > false< / span > < span class = "token boolean" > true< / span >
< span class = "token number" > 26< / span > as-command-execute-dae system < span class = "token number" > 10< / span > TIMED_ < span class = "token number" > 0< / span > < span class = "token number" > 0< / span > :0 < span class = "token boolean" > false< / span > < span class = "token boolean" > true< / span >
< span class = "token number" > 13< / span > job-timeout system < span class = "token number" > 9< / span > TIMED_ < span class = "token number" > 0< / span > < span class = "token number" > 0< / span > :0 < span class = "token boolean" > false< / span > < span class = "token boolean" > true< / span >
< span class = "token number" > 1< / span > main main < span class = "token number" > 5< / span > TIMED_ < span class = "token number" > 0< / span > < span class = "token number" > 0< / span > :0 < span class = "token boolean" > false< / span > < span class = "token boolean" > false< / span >
< span class = "token number" > 14< / span > nioEventLoopGroup-2-1 system < span class = "token number" > 10< / span > RUNNAB < span class = "token number" > 0< / span > < span class = "token number" > 0< / span > :0 < span class = "token boolean" > false< / span > < span class = "token boolean" > false< / span >
< span class = "token number" > 18< / span > nioEventLoopGroup-2-2 system < span class = "token number" > 10< / span > RUNNAB < span class = "token number" > 0< / span > < span class = "token number" > 0< / span > :0 < span class = "token boolean" > false< / span > < span class = "token boolean" > false< / span >
< span class = "token number" > 23< / span > nioEventLoopGroup-2-3 system < span class = "token number" > 10< / span > RUNNAB < span class = "token number" > 0< / span > < span class = "token number" > 0< / span > :0 < span class = "token boolean" > false< / span > < span class = "token boolean" > false< / span >
< span class = "token number" > 15< / span > nioEventLoopGroup-3-1 system < span class = "token number" > 10< / span > RUNNAB < span class = "token number" > 0< / span > < span class = "token number" > 0< / span > :0 < span class = "token boolean" > false< / span > < span class = "token boolean" > false< / span >
Memory used total max usage GC
heap 32M 155M 1820M < span class = "token number" > 1.77< / span > % gc.ps_scavenge.count < span class = "token number" > 4< / span >
ps_eden_space 14M 65M 672M < span class = "token number" > 2.21< / span > % gc.ps_scavenge.time< span class = "token punctuation" > (< / span > m < span class = "token number" > 166< / span >
ps_survivor_space 4M 5M 5M s< span class = "token punctuation" > )< / span >
ps_old_gen 12M 85M 1365M < span class = "token number" > 0.91< / span > % gc.ps_marksweep.count < span class = "token number" > 0< / span >
nonheap 20M 23M < span class = "token parameter variable" > -1< / span > gc.ps_marksweep.time< span class = "token punctuation" > (< / span > < span class = "token number" > 0< / span >
code_cache 3M 5M 240M < span class = "token number" > 1.32< / span > % ms < span class = "token punctuation" > )< / span >
Runtime
os.name Mac OS X
os.version < span class = "token number" > 10.13< / span > .4
java.version < span class = "token number" > 1.8< / span > .0_162
java.home /Library/Java/JavaVir
tualMachines/jdk1.8.0
_162.jdk/Contents/Hom
e/jre
< / code > < / pre > < div class = "line-numbers" aria-hidden = "true" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h2 id = "_4-get-the-main-class-of-the-math-game-process-with-the-thread-command" tabindex = "-1" > < a class = "header-anchor" href = "#_4-get-the-main-class-of-the-math-game-process-with-the-thread-command" aria-hidden = "true" > #< / a > 4. Get the Main Class of the < code > math-game< / code > process with the thread command< / h2 > < p > < code > thread 1< / code > will print the stack of the thread with ID 1, which usually the main function thread.< / p > < div class = "language-bash ext-sh line-numbers-mode" > < pre class = "language-bash" > < code > $ thread < span class = "token number" > 1< / span > < span class = "token operator" > |< / span > < span class = "token function" > grep< / span > < span class = "token string" > ' main(' < / span >
at demo.MathGame.main< span class = "token punctuation" > (< / span > MathGame.java:17< span class = "token punctuation" > )< / span >
< / code > < / pre > < div class = "line-numbers" aria-hidden = "true" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h2 id = "_5-decompile-main-class-with-jad-command" tabindex = "-1" > < a class = "header-anchor" href = "#_5-decompile-main-class-with-jad-command" aria-hidden = "true" > #< / a > 5. Decompile Main Class with jad command< / h2 > < div class = "language-java ext-java line-numbers-mode" > < pre class = "language-java" > < code > $ jad < span class = "token class-name" > < span class = "token namespace" > demo< span class = "token punctuation" > .< / span > < / span > MathGame< / span >
< span class = "token class-name" > ClassLoader< / span > < span class = "token operator" > :< / span >
< span class = "token operator" > +< / span > < span class = "token operator" > -< / span > < span class = "token class-name" > < span class = "token namespace" > sun< span class = "token punctuation" > .< / span > misc< span class = "token punctuation" > .< / span > < / span > Launcher< / span > $< span class = "token class-name" > AppClassLoader< / span > < span class = "token annotation punctuation" > @3d4eac69< / span >
< span class = "token operator" > +< / span > < span class = "token operator" > -< / span > < span class = "token class-name" > < span class = "token namespace" > sun< span class = "token punctuation" > .< / span > misc< span class = "token punctuation" > .< / span > < / span > Launcher< / span > $< span class = "token class-name" > ExtClassLoader< / span > < span class = "token annotation punctuation" > @66350f69< / span >
< span class = "token class-name" > Location< / span > < span class = "token operator" > :< / span >
< span class = "token operator" > /< / span > tmp< span class = "token operator" > /< / span > math< span class = "token operator" > -< / span > game< span class = "token punctuation" > .< / span > jar
< span class = "token comment" > /*
* Decompiled with CFR 0_132.
*/< / span >
< span class = "token keyword" > package< / span > < span class = "token namespace" > demo< / span > < span class = "token punctuation" > ;< / span >
< span class = "token keyword" > import< / span > < span class = "token import" > < span class = "token namespace" > java< span class = "token punctuation" > .< / span > io< span class = "token punctuation" > .< / span > < / span > < span class = "token class-name" > PrintStream< / span > < / span > < span class = "token punctuation" > ;< / span >
< span class = "token keyword" > import< / span > < span class = "token import" > < span class = "token namespace" > java< span class = "token punctuation" > .< / span > util< span class = "token punctuation" > .< / span > < / span > < span class = "token class-name" > ArrayList< / span > < / span > < span class = "token punctuation" > ;< / span >
< span class = "token keyword" > import< / span > < span class = "token import" > < span class = "token namespace" > java< span class = "token punctuation" > .< / span > util< span class = "token punctuation" > .< / span > < / span > < span class = "token class-name" > Iterator< / span > < / span > < span class = "token punctuation" > ;< / span >
< span class = "token keyword" > import< / span > < span class = "token import" > < span class = "token namespace" > java< span class = "token punctuation" > .< / span > util< span class = "token punctuation" > .< / span > < / span > < span class = "token class-name" > List< / span > < / span > < span class = "token punctuation" > ;< / span >
< span class = "token keyword" > import< / span > < span class = "token import" > < span class = "token namespace" > java< span class = "token punctuation" > .< / span > util< span class = "token punctuation" > .< / span > < / span > < span class = "token class-name" > Random< / span > < / span > < span class = "token punctuation" > ;< / span >
< span class = "token keyword" > import< / span > < span class = "token import" > < span class = "token namespace" > java< span class = "token punctuation" > .< / span > util< span class = "token punctuation" > .< / span > concurrent< span class = "token punctuation" > .< / span > < / span > < span class = "token class-name" > TimeUnit< / span > < / span > < span class = "token punctuation" > ;< / span >
< span class = "token keyword" > public< / span > < span class = "token keyword" > class< / span > < span class = "token class-name" > MathGame< / span > < span class = "token punctuation" > {< / span >
< span class = "token keyword" > private< / span > < span class = "token keyword" > static< / span > < span class = "token class-name" > Random< / span > random < span class = "token operator" > =< / span > < span class = "token keyword" > new< / span > < span class = "token class-name" > Random< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > ;< / span >
< span class = "token keyword" > private< / span > < span class = "token keyword" > int< / span > illegalArgumentCount < span class = "token operator" > =< / span > < span class = "token number" > 0< / span > < span class = "token punctuation" > ;< / span >
< span class = "token keyword" > public< / span > < span class = "token keyword" > static< / span > < span class = "token keyword" > void< / span > < span class = "token function" > main< / span > < span class = "token punctuation" > (< / span > < span class = "token class-name" > String< / span > < span class = "token punctuation" > [< / span > < span class = "token punctuation" > ]< / span > args< span class = "token punctuation" > )< / span > < span class = "token keyword" > throws< / span > < span class = "token class-name" > InterruptedException< / span > < span class = "token punctuation" > {< / span >
< span class = "token class-name" > MathGame< / span > game < span class = "token operator" > =< / span > < span class = "token keyword" > new< / span > < span class = "token class-name" > MathGame< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > ;< / span >
< span class = "token keyword" > do< / span > < span class = "token punctuation" > {< / span >
game< span class = "token punctuation" > .< / span > < span class = "token function" > run< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > ;< / span >
< span class = "token class-name" > TimeUnit< / span > < span class = "token punctuation" > .< / span > < span class = "token constant" > SECONDS< / span > < span class = "token punctuation" > .< / span > < span class = "token function" > sleep< / span > < span class = "token punctuation" > (< / span > < span class = "token number" > 1L< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > ;< / span >
< span class = "token punctuation" > }< / span > < span class = "token keyword" > while< / span > < span class = "token punctuation" > (< / span > < span class = "token boolean" > true< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > ;< / span >
< span class = "token punctuation" > }< / span >
< span class = "token keyword" > public< / span > < span class = "token keyword" > void< / span > < span class = "token function" > run< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < span class = "token keyword" > throws< / span > < span class = "token class-name" > InterruptedException< / span > < span class = "token punctuation" > {< / span >
< span class = "token keyword" > try< / span > < span class = "token punctuation" > {< / span >
< span class = "token keyword" > int< / span > number < span class = "token operator" > =< / span > random< span class = "token punctuation" > .< / span > < span class = "token function" > nextInt< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > ;< / span >
< span class = "token class-name" > List< / span > < span class = "token generics" > < span class = "token punctuation" > < < / span > < span class = "token class-name" > Integer< / span > < span class = "token punctuation" > > < / span > < / span > primeFactors < span class = "token operator" > =< / span > < span class = "token keyword" > this< / span > < span class = "token punctuation" > .< / span > < span class = "token function" > primeFactors< / span > < span class = "token punctuation" > (< / span > number< span class = "token punctuation" > )< / span > < span class = "token punctuation" > ;< / span >
< span class = "token class-name" > MathGame< / span > < span class = "token punctuation" > .< / span > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > number< span class = "token punctuation" > ,< / span > primeFactors< span class = "token punctuation" > )< / span > < span class = "token punctuation" > ;< / span >
< span class = "token punctuation" > }< / span >
< span class = "token keyword" > catch< / span > < span class = "token punctuation" > (< / span > < span class = "token class-name" > Exception< / span > e< span class = "token punctuation" > )< / span > < span class = "token punctuation" > {< / span >
< span class = "token class-name" > System< / span > < span class = "token punctuation" > .< / span > out< span class = "token punctuation" > .< / span > < span class = "token function" > println< / span > < span class = "token punctuation" > (< / span > < span class = "token class-name" > String< / span > < span class = "token punctuation" > .< / span > < span class = "token function" > format< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " illegalArgumentCount:%3d, " < / span > < span class = "token punctuation" > ,< / span > < span class = "token keyword" > this< / span > < span class = "token punctuation" > .< / span > illegalArgumentCount< span class = "token punctuation" > )< / span > < span class = "token operator" > +< / span > e< span class = "token punctuation" > .< / span > < span class = "token function" > getMessage< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > ;< / span >
< span class = "token punctuation" > }< / span >
< span class = "token punctuation" > }< / span >
< span class = "token keyword" > public< / span > < span class = "token keyword" > static< / span > < span class = "token keyword" > void< / span > < span class = "token function" > print< / span > < span class = "token punctuation" > (< / span > < span class = "token keyword" > int< / span > number< span class = "token punctuation" > ,< / span > < span class = "token class-name" > List< / span > < span class = "token generics" > < span class = "token punctuation" > < < / span > < span class = "token class-name" > Integer< / span > < span class = "token punctuation" > > < / span > < / span > primeFactors< span class = "token punctuation" > )< / span > < span class = "token punctuation" > {< / span >
< span class = "token class-name" > StringBuffer< / span > sb < span class = "token operator" > =< / span > < span class = "token keyword" > new< / span > < span class = "token class-name" > StringBuffer< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " " < / span > < span class = "token operator" > +< / span > number < span class = "token operator" > +< / span > < span class = "token string" > " =" < / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > ;< / span >
< span class = "token class-name" > Iterator< / span > < span class = "token generics" > < span class = "token punctuation" > < < / span > < span class = "token class-name" > Integer< / span > < span class = "token punctuation" > > < / span > < / span > iterator < span class = "token operator" > =< / span > primeFactors< span class = "token punctuation" > .< / span > < span class = "token function" > iterator< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > ;< / span >
< span class = "token keyword" > while< / span > < span class = "token punctuation" > (< / span > iterator< span class = "token punctuation" > .< / span > < span class = "token function" > hasNext< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > {< / span >
< span class = "token keyword" > int< / span > factor < span class = "token operator" > =< / span > iterator< span class = "token punctuation" > .< / span > < span class = "token function" > next< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > ;< / span >
sb< span class = "token punctuation" > .< / span > < span class = "token function" > append< / span > < span class = "token punctuation" > (< / span > factor< span class = "token punctuation" > )< / span > < span class = "token punctuation" > .< / span > < span class = "token function" > append< / span > < span class = "token punctuation" > (< / span > < span class = "token char" > ' *' < / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > ;< / span >
< span class = "token punctuation" > }< / span >
< span class = "token keyword" > if< / span > < span class = "token punctuation" > (< / span > sb< span class = "token punctuation" > .< / span > < span class = "token function" > charAt< / span > < span class = "token punctuation" > (< / span > sb< span class = "token punctuation" > .< / span > < span class = "token function" > length< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < span class = "token operator" > -< / span > < span class = "token number" > 1< / span > < span class = "token punctuation" > )< / span > < span class = "token operator" > ==< / span > < span class = "token char" > ' *' < / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > {< / span >
sb< span class = "token punctuation" > .< / span > < span class = "token function" > deleteCharAt< / span > < span class = "token punctuation" > (< / span > sb< span class = "token punctuation" > .< / span > < span class = "token function" > length< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < span class = "token operator" > -< / span > < span class = "token number" > 1< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > ;< / span >
< span class = "token punctuation" > }< / span >
< span class = "token class-name" > System< / span > < span class = "token punctuation" > .< / span > out< span class = "token punctuation" > .< / span > < span class = "token function" > println< / span > < span class = "token punctuation" > (< / span > sb< span class = "token punctuation" > )< / span > < span class = "token punctuation" > ;< / span >
< span class = "token punctuation" > }< / span >
< span class = "token keyword" > public< / span > < span class = "token class-name" > List< / span > < span class = "token generics" > < span class = "token punctuation" > < < / span > < span class = "token class-name" > Integer< / span > < span class = "token punctuation" > > < / span > < / span > < span class = "token function" > primeFactors< / span > < span class = "token punctuation" > (< / span > < span class = "token keyword" > int< / span > number< span class = "token punctuation" > )< / span > < span class = "token punctuation" > {< / span >
< span class = "token keyword" > if< / span > < span class = "token punctuation" > (< / span > number < span class = "token operator" > < < / span > < span class = "token number" > 2< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > {< / span >
< span class = "token operator" > ++< / span > < span class = "token keyword" > this< / span > < span class = "token punctuation" > .< / span > illegalArgumentCount< span class = "token punctuation" > ;< / span >
< span class = "token keyword" > throw< / span > < span class = "token keyword" > new< / span > < span class = "token class-name" > IllegalArgumentException< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > " number is: " < / span > < span class = "token operator" > +< / span > number < span class = "token operator" > +< / span > < span class = "token string" > " , need > = 2" < / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > ;< / span >
< span class = "token punctuation" > }< / span >
< span class = "token class-name" > ArrayList< / span > < span class = "token generics" > < span class = "token punctuation" > < < / span > < span class = "token class-name" > Integer< / span > < span class = "token punctuation" > > < / span > < / span > result < span class = "token operator" > =< / span > < span class = "token keyword" > new< / span > < span class = "token class-name" > ArrayList< / span > < span class = "token generics" > < span class = "token punctuation" > < < / span > < span class = "token class-name" > Integer< / span > < span class = "token punctuation" > > < / span > < / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > ;< / span >
< span class = "token keyword" > int< / span > i < span class = "token operator" > =< / span > < span class = "token number" > 2< / span > < span class = "token punctuation" > ;< / span >
< span class = "token keyword" > while< / span > < span class = "token punctuation" > (< / span > i < span class = "token operator" > < =< / span > number< span class = "token punctuation" > )< / span > < span class = "token punctuation" > {< / span >
< span class = "token keyword" > if< / span > < span class = "token punctuation" > (< / span > number < span class = "token operator" > %< / span > i < span class = "token operator" > ==< / span > < span class = "token number" > 0< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > {< / span >
result< span class = "token punctuation" > .< / span > < span class = "token function" > add< / span > < span class = "token punctuation" > (< / span > i< span class = "token punctuation" > )< / span > < span class = "token punctuation" > ;< / span >
number < span class = "token operator" > /=< / span > i< span class = "token punctuation" > ;< / span >
i < span class = "token operator" > =< / span > < span class = "token number" > 2< / span > < span class = "token punctuation" > ;< / span >
< span class = "token keyword" > continue< / span > < span class = "token punctuation" > ;< / span >
< span class = "token punctuation" > }< / span >
< span class = "token operator" > ++< / span > i< span class = "token punctuation" > ;< / span >
< span class = "token punctuation" > }< / span >
< span class = "token keyword" > return< / span > result< span class = "token punctuation" > ;< / span >
< span class = "token punctuation" > }< / span >
< span class = "token punctuation" > }< / span >
< span class = "token class-name" > Affect< / span > < span class = "token punctuation" > (< / span > row< span class = "token operator" > -< / span > cnt< span class = "token operator" > :< / span > < span class = "token number" > 1< / span > < span class = "token punctuation" > )< / span > cost in < span class = "token number" > 970< / span > ms< span class = "token punctuation" > .< / span >
< / code > < / pre > < div class = "line-numbers" aria-hidden = "true" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < h2 id = "_6-watch" tabindex = "-1" > < a class = "header-anchor" href = "#_6-watch" aria-hidden = "true" > #< / a > 6. watch< / h2 > < p > Use ' < a href = "/en/doc/watch.html" class = "" > watch< / a > ' to view the return object of < code > demo.MathGame#primeFactors< / code > :< / p > < div class = "language-bash ext-sh line-numbers-mode" > < pre class = "language-bash" > < code > $ < span class = "token function" > watch< / span > demo.MathGame primeFactors returnObj
Press Ctrl+C to abort.
Affect< span class = "token punctuation" > (< / span > class-cnt:1 , method-cnt:1< span class = "token punctuation" > )< / span > cost < span class = "token keyword" > in< / span > < span class = "token number" > 107< / span > ms.
< span class = "token assign-left variable" > ts< / span > < span class = "token operator" > =< / span > < span class = "token number" > 2018< / span > -11-28 < span class = "token number" > 19< / span > :22:30< span class = "token punctuation" > ;< / span > < span class = "token punctuation" > [< / span > cost< span class = "token operator" > =< / span > < span class = "token number" > 1< / span > .715367ms< span class = "token punctuation" > ]< / span > < span class = "token assign-left variable" > result< / span > < span class = "token operator" > =< / span > null
< span class = "token assign-left variable" > ts< / span > < span class = "token operator" > =< / span > < span class = "token number" > 2018< / span > -11-28 < span class = "token number" > 19< / span > :22:31< span class = "token punctuation" > ;< / span > < span class = "token punctuation" > [< / span > cost< span class = "token operator" > =< / span > < span class = "token number" > 0< / span > .185203ms< span class = "token punctuation" > ]< / span > < span class = "token assign-left variable" > result< / span > < span class = "token operator" > =< / span > null
< span class = "token assign-left variable" > ts< / span > < span class = "token operator" > =< / span > < span class = "token number" > 2018< / span > -11-28 < span class = "token number" > 19< / span > :22:32< span class = "token punctuation" > ;< / span > < span class = "token punctuation" > [< / span > cost< span class = "token operator" > =< / span > < span class = "token number" > 19< / span > .012416ms< span class = "token punctuation" > ]< / span > < span class = "token assign-left variable" > result< / span > < span class = "token operator" > =< / span > @ArrayList< span class = "token punctuation" > [< / span >
@Integer< span class = "token punctuation" > [< / span > < span class = "token number" > 5< / span > < span class = "token punctuation" > ]< / span > ,
@Integer< span class = "token punctuation" > [< / span > < span class = "token number" > 47< / span > < span class = "token punctuation" > ]< / span > ,
@Integer< span class = "token punctuation" > [< / span > < span class = "token number" > 2675531< / span > < span class = "token punctuation" > ]< / span > ,
< span class = "token punctuation" > ]< / span >
< span class = "token assign-left variable" > ts< / span > < span class = "token operator" > =< / span > < span class = "token number" > 2018< / span > -11-28 < span class = "token number" > 19< / span > :22:33< span class = "token punctuation" > ;< / span > < span class = "token punctuation" > [< / span > cost< span class = "token operator" > =< / span > < span class = "token number" > 0< / span > .311395ms< span class = "token punctuation" > ]< / span > < span class = "token assign-left variable" > result< / span > < span class = "token operator" > =< / span > @ArrayList< span class = "token punctuation" > [< / span >
@Integer< span class = "token punctuation" > [< / span > < span class = "token number" > 2< / span > < span class = "token punctuation" > ]< / span > ,
@Integer< span class = "token punctuation" > [< / span > < span class = "token number" > 5< / span > < span class = "token punctuation" > ]< / span > ,
@Integer< span class = "token punctuation" > [< / span > < span class = "token number" > 317< / span > < span class = "token punctuation" > ]< / span > ,
@Integer< span class = "token punctuation" > [< / span > < span class = "token number" > 503< / span > < span class = "token punctuation" > ]< / span > ,
@Integer< span class = "token punctuation" > [< / span > < span class = "token number" > 887< / span > < span class = "token punctuation" > ]< / span > ,
< span class = "token punctuation" > ]< / span >
< span class = "token assign-left variable" > ts< / span > < span class = "token operator" > =< / span > < span class = "token number" > 2018< / span > -11-28 < span class = "token number" > 19< / span > :22:34< span class = "token punctuation" > ;< / span > < span class = "token punctuation" > [< / span > cost< span class = "token operator" > =< / span > < span class = "token number" > 10< / span > .136007ms< span class = "token punctuation" > ]< / span > < span class = "token assign-left variable" > result< / span > < span class = "token operator" > =< / span > @ArrayList< span class = "token punctuation" > [< / span >
@Integer< span class = "token punctuation" > [< / span > < span class = "token number" > 2< / span > < span class = "token punctuation" > ]< / span > ,
@Integer< span class = "token punctuation" > [< / span > < span class = "token number" > 2< / span > < span class = "token punctuation" > ]< / span > ,
@Integer< span class = "token punctuation" > [< / span > < span class = "token number" > 3< / span > < span class = "token punctuation" > ]< / span > ,
@Integer< span class = "token punctuation" > [< / span > < span class = "token number" > 3< / span > < span class = "token punctuation" > ]< / span > ,
@Integer< span class = "token punctuation" > [< / span > < span class = "token number" > 31< / span > < span class = "token punctuation" > ]< / span > ,
@Integer< span class = "token punctuation" > [< / span > < span class = "token number" > 717593< / span > < span class = "token punctuation" > ]< / span > ,
< span class = "token punctuation" > ]< / span >
< span class = "token assign-left variable" > ts< / span > < span class = "token operator" > =< / span > < span class = "token number" > 2018< / span > -11-28 < span class = "token number" > 19< / span > :22:35< span class = "token punctuation" > ;< / span > < span class = "token punctuation" > [< / span > cost< span class = "token operator" > =< / span > < span class = "token number" > 29< / span > .969732ms< span class = "token punctuation" > ]< / span > < span class = "token assign-left variable" > result< / span > < span class = "token operator" > =< / span > @ArrayList< span class = "token punctuation" > [< / span >
@Integer< span class = "token punctuation" > [< / span > < span class = "token number" > 5< / span > < span class = "token punctuation" > ]< / span > ,
@Integer< span class = "token punctuation" > [< / span > < span class = "token number" > 29< / span > < span class = "token punctuation" > ]< / span > ,
@Integer< span class = "token punctuation" > [< / span > < span class = "token number" > 7651739< / span > < span class = "token punctuation" > ]< / span > ,
< span class = "token punctuation" > ]< / span >
< / code > < / pre > < div class = "line-numbers" aria-hidden = "true" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < p > Pls. refer to < a href = "/en/doc/advanced-use.html" class = "" > advanced usages< / a > for more information.< / p > < h2 id = "_7-exit-arthas" tabindex = "-1" > < a class = "header-anchor" href = "#_7-exit-arthas" aria-hidden = "true" > #< / a > 7. Exit Arthas< / h2 > < p > Use < code > quit< / code > or < code > exit< / code > to disconnect from the current process. The Arthas instance attached to the target process continues to live inside the process, and its port is standby for further connection.< / p > < p > Use < code > stop< / code > command to have Arthas completely quit from the target process.< / p > < / div > <!-- [ --> <!-- ] --> < / div > < footer class = "page-meta right-menu-padding" data-v-fdd717e0 > < div class = "meta-item edit-link" > < a class = "external-link meta-item-label" href = "https://github.com/alibaba/arthas/edit/master/site/docs/en/doc/quick-start.md" rel = "noopener noreferrer" target = "_blank" aria-label = "Edit this page on GitHub" > <!-- [ --> <!-- ] --> < span > Edit this page on GitHub< / span > < span > < svg class = "external-link-icon" xmlns = "http://www.w3.org/2000/svg" aria-hidden = "true" focusable = "false" x = "0px" y = "0px" viewbox = "0 0 100 100" width = "15" height = "15" > < path fill = "currentColor" d = "M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z" > < / path > < polygon fill = "currentColor" points = "45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9" > < / polygon > < / svg > < span class = "external-link-icon-sr-only" > open in new window< / span > < / span > <!-- [ --> <!-- ] --> < / a > < / div > < div class = "meta-item last-updated" > < span class = "meta-item-label" > Last Updated: < / span > <!-- --> < / div > < div class = "meta-item contributors" > < span class = "meta-item-label" > Contributors: < / span > < span class = "meta-item-info" > <!-- [ --> <!-- [ --> < span class = "contributor" title = "email: hengyunabc@gmail.com" > hengyunabc< / span > <!-- [ --> , <!-- ] --> <!-- ] --> <!-- [ --> < span class = "contributor" title = "email: LHearen@126.com" > Hearen< / span > <!-- [ --> , <!-- ] --> <!-- ] --> <!-- [ --> < span class = "contributor" title = "email: 26602940+0xflotus@users.noreply.github.com" > 0xflotus< / span > <!-- [ --> , <!-- ] --> <!-- ] --> <!-- [ --> < span class = "contributor" title = "email: arteevraina@gmail.com" > Arteev Raina< / span > <!-- [ --> , <!-- ] --> <!-- ] --> <!-- [ --> < span class = "contributor" title = "email: lhearen@gmail.com" > LHearen< / span > <!-- [ --> , <!-- ] --> <!-- ] --> <!-- [ --> < span class = "contributor" title = "email: ian.luo@gmail.com" > beiwei30< / span > <!-- [ --> , <!-- ] --> <!-- ] --> <!-- [ --> < span class = "contributor" title = "email: 1412950785@qq.com" > garenchan< / span > <!-- --> <!-- ] --> <!-- ] --> < / span > < / div > < / footer > < nav class = "page-nav right-menu-padding" data-v-fdd717e0 > < p class = "inner" > < span class = "prev" > < a href = "/en/doc/" class = "router-link-active" aria-label = "Introduction" > <!-- [ --> <!-- ] --> Introduction <!-- [ --> <!-- ] --> < / a > < / span > < span class = "next" > < a href = "/en/doc/install-detail.html" class = "" aria-label = "Install Arthas" > <!-- [ --> <!-- ] --> Install Arthas <!-- [ --> <!-- ] --> < / a > < / span > < / p > < / nav > <!-- [ --> <!-- ] --> < / main > <!-- ] --> < / div > <!-- --> <!-- ] --> < / div >
< script type = "module" src = "/assets/app.b8f28394.js" defer > < / script >
< / body >
< / html >