You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
arthas/doc/groovy.html

165 lines
88 KiB
HTML

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!DOCTYPE html>
<html lang="zh-CN">
<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=&dim10=arthas"><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>groovy | arthas</title><meta name="description" content="arthas 使用文档">
<link rel="modulepreload" href="/assets/app.977e81c1.js"><link rel="modulepreload" href="/assets/groovy.html.952384a3.js"><link rel="modulepreload" href="/assets/groovy.html.5effbaba.js"><link rel="prefetch" href="/assets/index.html.9412a900.js"><link rel="prefetch" href="/assets/index.html.3c03373d.js"><link rel="prefetch" href="/assets/index.html.31581b5f.js"><link rel="prefetch" href="/assets/advanced-use.html.3876077d.js"><link rel="prefetch" href="/assets/advice-class.html.e0d4601b.js"><link rel="prefetch" href="/assets/agent.html.ea7c22e0.js"><link rel="prefetch" href="/assets/arthas-properties.html.4eb539b4.js"><link rel="prefetch" href="/assets/arthas3.html.bee7bffc.js"><link rel="prefetch" href="/assets/async.html.473d320c.js"><link rel="prefetch" href="/assets/auth.html.ac4b67f2.js"><link rel="prefetch" href="/assets/base64.html.4b181e89.js"><link rel="prefetch" href="/assets/batch-support.html.a26e2295.js"><link rel="prefetch" href="/assets/cat.html.c8fbb1c5.js"><link rel="prefetch" href="/assets/classloader.html.04ede152.js"><link rel="prefetch" href="/assets/cls.html.315127c2.js"><link rel="prefetch" href="/assets/commands.html.205fab1f.js"><link rel="prefetch" href="/assets/contact-us.html.259f35c3.js"><link rel="prefetch" href="/assets/dashboard.html.72692286.js"><link rel="prefetch" href="/assets/docker.html.37a9000f.js"><link rel="prefetch" href="/assets/download.html.e9e19894.js"><link rel="prefetch" href="/assets/dump.html.aac38ab5.js"><link rel="prefetch" href="/assets/echo.html.7dac4c37.js"><link rel="prefetch" href="/assets/faq.html.0788d4da.js"><link rel="prefetch" href="/assets/getstatic.html.2a0b4f73.js"><link rel="prefetch" href="/assets/grep.html.09b9f3d8.js"><link rel="prefetch" href="/assets/heapdump.html.a85cf9a1.js"><link rel="prefetch" href="/assets/help.html.e5f40d88.js"><link rel="prefetch" href="/assets/history.html.9c7d2f2e.js"><link rel="prefetch" href="/assets/http-api.html.693537fc.js"><link rel="prefetch" href="/assets/idea-plugin.html.0e7ca126.js"><link rel="prefetch" href="/assets/install-detail.html.2265e71c.js"><link rel="prefetch" href="/assets/jad.html.6682b060.js"><link rel="prefetch" href="/assets/jfr.html.4a6ffa9b.js"><link rel="prefetch" href="/assets/jvm.html.bf9d7353.js"><link rel="prefetch" href="/assets/keymap.html.4a935f93.js"><link rel="prefetch" href="/assets/logger.html.1626eaca.js"><link rel="prefetch" href="/assets/manual-install.html.7d61ca70.js"><link rel="prefetch" href="/assets/mbean.html.30acbef7.js"><link rel="prefetch" href="/assets/mc.html.2ccc704e.js"><link rel="prefetch" href="/assets/memory.html.354446c2.js"><link rel="prefetch" href="/assets/monitor.html.c7c0dac3.js"><link rel="prefetch" href="/assets/ognl.html.56febc20.js"><link rel="prefetch" href="/assets/options.html.f2203677.js"><link rel="prefetch" href="/assets/perfcounter.html.4783a666.js"><link rel="prefetch" href="/assets/profiler.html.0af96094.js"><link rel="prefetch" href="/assets/pwd.html.bb923193.js"><link rel="prefetch" href="/assets/quick-start.html.3b81c79e.js"><link rel="prefetch" href="/assets/quit.html.bc71e5cc.js"><link rel="prefetch" href="/assets/redefine.html.c762575e.js"><link rel="prefetch" href="/assets/release-notes.html.fef92c13.js"><link rel="prefetch" href="/assets/reset.html.05dc82b5.js"><link rel="prefetch" href="/assets/retransform.html.21fa57be.js"><link rel="prefetch" href="/assets/save-log.html.8b792c19.js"><link rel="prefetch" href="/assets/sc.html.9e910d92.js"><link rel="prefetch" href="/assets/session.html.620f0ab0.js"><link rel="prefetch" href="/assets/sm.html.00c3d56b.js"><link rel="prefetch" href="/assets/spring-boot-starter.html.07a5bd45.js"><link rel="prefetch" href="/assets/stack.html.17704cc3.js"><link rel="prefetch" href="/assets/start-arthas.html.f299d09e.js"><link rel="prefetch" href="/assets/stop.html.75db3522.js"><link rel="prefetch" href="/assets/sysenv.html.fcd3f33c.js"><link rel="prefetch" href="/assets/sysprop.html.f64847c1.js"><link rel="prefetch" href="/assets/tee.html.6c47fb2b.js"><link rel="prefetch" href="/assets/thread.html.222deb53.js"><link rel="prefetch" href="/assets/trace.html.f837a2ab.js"><link rel="prefetch" href="/assets/tt.html.a7531792.js"><link rel="prefetch" href="/assets/tunnel.html.cba00e0c.js"><link rel="prefetch" href="/assets/version.html.1f4f0bf6.js"><link rel="prefetch" href="/assets/vmoption.html.2a384e93.js"><link rel="prefetch" href="/assets/vmtool.html.b9760aa2.js"><link rel="prefetch" href="/assets/watch.html.8587d435.js"><link rel="prefetch" href="/assets/web-console.html.288b4929.js"><link rel="prefetch" href="/assets/index.html.ff1404b7.js"><link rel="prefetch" href="/assets/advanced-use.html.bb267793.js"><link rel="prefetch" href="/assets/advice-class.html.94b18967.js"><link rel="prefetch" href="/assets/agent.html.f70ec699.js"><link rel="prefetch" href="/assets/arthas-properties.html.7beccba1.js"><link rel="prefetch" href="/assets/async.html.4fa97ba6.js"><link rel="prefetch" href="/assets/auth.html.faba59b2.js"><link rel="prefetch" href="/assets/base64.html.f5d760ad.js"><link rel="prefetch" href="/assets/batch-support.html.f735e8b3.js"><link rel="prefetch" href="/assets/cat.html.61cfeeed.js"><link rel="prefetch" href="/assets/classloader.html.1a744f9d.js"><link rel="prefetch" href="/assets/cls.html.9582133b.js"><link rel="prefetch" href="/assets/commands.html.d485bb31.js"><link rel="prefetch" href="/assets/contact-us.html.cf7df316.js"><link rel="prefetch" href="/assets/dashboard.html.9adb43a6.js"><link rel="prefetch" href="/assets/docker.html.dcd7c4dc.js"><link rel="prefetch" href="/assets/download.html.293fd4d6.js"><link rel="prefetch" href="/assets/dump.html.db2e1d15.js"><link rel="prefetch" href="/assets/echo.html.bfe5b1ec.js"><link rel="prefetch" href="/assets/faq.html.eb9e34c2.js"><link rel="prefetch" href="/assets/getstatic.html.8413a0bf.js"><link rel="prefetch" href="/assets/grep.html.7d76329e.js"><link rel="prefetch" href="/assets/groovy.html.30d5ba53.js"><link rel="prefetch" href="/assets/heapdump.html.6bb17092.js"><link rel="prefetch" href="/assets/help.html.efd32fdc.js"><link rel="prefetch" href="/assets/history.html.df512aaf.js"><link rel="prefetch" href="/assets/http-api.html.1e0c4fe4.js"><link rel="prefetch" href="/assets/idea-plugin.html.88925ff1.js"><link rel="prefetch" href="/assets/install-detail.html.7256efcb.js"><link rel="prefetch" href="/assets/jad.html.00011a0c.js"><link rel="prefetch" href="/assets/jfr.html.79f874a0.js"><link rel="prefetch" href="/assets/jvm.html.6b3bf176.js"><link rel="prefetch" href="/assets/keymap.html.d625308a.js"><link rel="prefetch" href="/assets/logger.html.35648b6b.js"><link rel="prefetch" href="/assets/manual-install.html.fd88c8b7.js"><link rel="prefetch" href="/assets/mbean.html.392ceafa.js"><link rel="prefetch" href="/assets/mc.html.0af39dc5.js"><link rel="prefetch" href="/assets/memory.html.332c2c37.js"><link rel="prefetch" href="/assets/monitor.html.cd5568d1.js"><link rel="prefetch" href="/assets/ognl.html.82505296.js"><link rel="prefetch" href="/assets/options.html.07168402.js"><link rel="prefetch" href="/assets/perfcounter.html.c4732563.js"><link rel="prefetch" href="/assets/profiler.html.cb7e80ca.js"><link rel="prefetch" href="/assets/pwd.html.12016768.js"><link rel="prefetch" href="/assets/quick-start.html.4690bd9e.js"><link rel="prefetch" href="/assets/quit.html.c7fec324.js"><link rel="prefetch" href="/assets/redefine.html.2e436be1.js"><link rel="prefetch" href="/assets/release-notes.html.a5a31dff.js"><link rel="prefetch" href="/assets/reset.html.6e400246.js"><link rel="prefetch" href="/assets/retransform.html.5387fa9b.js"><link rel="prefetch" href="/assets/save-log.html.093b3bcd.js"><link rel="prefetch" href="/assets/sc.html.cc0b3807.js"><link rel="prefetch" href="/assets/session.html.d2bc15a6.js"><link rel="prefetch" href="/assets/sm.html.a9569eeb.js"><link rel="prefetch" href="/assets/spring-boot-starter.html.ff12f0c1.js"><link rel="prefetch" href="/assets/stack.html.d7b82b5f.js"><link rel="prefetch" href="/assets/start-arthas.html.7adf3019.js"><link rel="prefetch" href="/assets/stop.html.770c7d0b.js"><link rel="prefetch" href="/assets/sysenv.html.c0682e8e.js"><link rel="prefetch" href="/assets/sysprop.html.05cb07d3.js"><link rel="prefetch" href="/assets/tee.html.235d5b7c.js"><link rel="prefetch" href="/assets/thread.html.91a56a2e.js"><link rel="prefetch" href="/assets/trace.html.1e385101.js"><link rel="prefetch" href="/assets/tt.html.dd804c2a.js"><link rel="prefetch" href="/assets/tunnel.html.d8272588.js"><link rel="prefetch" href="/assets/version.html.03456423.js"><link rel="prefetch" href="/assets/vmoption.html.333859d9.js"><link rel="prefetch" href="/assets/vmtool.html.6ffa578c.js"><link rel="prefetch" href="/assets/watch.html.49c58566.js"><link rel="prefetch" href="/assets/web-console.html.ad03b58b.js"><link rel="prefetch" href="/assets/intro.html.84f98ee4.js"><link rel="prefetch" href="/assets/user-question-history11440.html.945d2f9e.js"><link rel="prefetch" href="/assets/user-question-history11442.html.783bc8dc.js"><link rel="prefetch" href="/assets/user-question-history11443.html.d0a0a555.js"><link rel="prefetch" href="/assets/user-question-history11444.html.527dcabc.js"><link rel="prefetch" href="/assets/user-question-history11450.html.0b5859bb.js"><link rel="prefetch" href="/assets/user-question-history11451.html.7c8a6e22.js"><link rel="prefetch" href="/assets/user-question-history11452.html.a763d91d.js"><link rel="prefetch" href="/assets/user-question-history11453.html.5c967223.js"><link rel="prefetch" href="/assets/user-question-history11454.html.57a6549c.js"><link rel="prefetch" href="/assets/user-question-history11466.html.c0d693fe.js"><link rel="prefetch" href="/assets/user-question-history11467.html.625395e2.js"><link rel="prefetch" href="/assets/user-question-history11468.html.18c1233b.js"><link rel="prefetch" href="/assets/user-question-history11469.html.612d979c.js"><link rel="prefetch" href="/assets/user-question-history11784.html.f9437c23.js"><link rel="prefetch" href="/assets/user-question-history11795.html.bda07489.js"><link rel="prefetch" href="/assets/user-question-history11809.html.fe35e352.js"><link rel="prefetch" href="/assets/user-question-history11810.html.8374c3d6.js"><link rel="prefetch" href="/assets/user-question-history11814.html.d7769792.js"><link rel="prefetch" href="/assets/user-question-history12453.html.500b97bf.js"><link rel="prefetch" href="/assets/user-question-history12454.html.a008431b.js"><link rel="prefetch" href="/assets/user-question-history12455.html.ab02f527.js"><link rel="prefetch" href="/assets/user-question-history12706.html.5b3c7377.js"><link rel="prefetch" href="/assets/user-question-history12715.html.8003899b.js"><link rel="prefetch" href="/assets/user-question-history12716.html.ba178a77.js"><link rel="prefetch" href="/assets/user-question-history12740.html.42134d3d.js"><link rel="prefetch" href="/assets/user-question-history12741.html.458cbd4d.js"><link rel="prefetch" href="/assets/user-question-history13448.html.de3f47a3.js"><link rel="prefetch" href="/assets/user-question-history13504.html.4ef2df02.js"><link rel="prefetch" href="/assets/user-question-history13506.html.5d616bd0.js"><link rel="prefetch" href="/assets/user-question-history13507.html.b5f944e9.js"><link rel="prefetch" href="/assets/user-question-history13508.html.dc8e3c01.js"><link rel="prefetch" href="/assets/user-question-history13509.html.7caa5f1e.js"><link rel="prefetch" href="/assets/user-question-history13510.html.0c3bd94a.js"><link rel="prefetch" href="/assets/user-question-history13511.html.7f29583a.js"><link rel="prefetch" href="/assets/user-question-history13512.html.4c7642e0.js"><link rel="prefetch" href="/assets/user-question-history13513.html.82e1a86f.js"><link rel="prefetch" href="/assets/user-question-history13522.html.7a8c0ca3.js"><link rel="prefetch" href="/assets/user-question-history14763.html.6ac12d31.js"><link rel="prefetch" href="/assets/user-question-history14831.html.3f163d4d.js"><link rel="prefetch" href="/assets/user-question-history14832.html.42a4044b.js"><link rel="prefetch" href="/assets/user-question-history14833.html.8db4f27a.js"><link rel="prefetch" href="/assets/user-question-history14834.html.f77f6f47.js"><link rel="prefetch" href="/assets/user-question-history14840.html.a63b53e2.js"><link rel="prefetch" href="/assets/user-question-history14843.html.b9c5ba60.js"><link rel="prefetch" href="/assets/user-question-history15167.html.06ed0a3a.js"><link rel="prefetch" href="/assets/user-question-history15543.html.f75a7715.js"><link rel="prefetch" href="/assets/user-question-history15726.html.5f9e3ece.js"><link rel="prefetch" href="/assets/user-question-history15728.html.6ae4ac04.js"><link rel="prefetch" href="/assets/user-question-history15729.html.351db40d.js"><link rel="prefetch" href="/assets/user-question-history15730.html.41960780.js"><link rel="prefetch" href="/assets/user-question-history15731.html.d573fdf9.js"><link rel="prefetch" href="/assets/user-question-history15735.html.3bd2be36.js"><link rel="prefetch" href="/assets/user-question-history15736.html.d5153f23.js"><link rel="prefetch" href="/assets/user-question-history15737.html.c707eb2c.js"><link rel="prefetch" href="/assets/user-question-history15738.html.2e65b59a.js"><link rel="prefetch" href="/assets/user-question-history15739.html.0899467d.js"><link rel="prefetch" href="/assets/user-question-history15740.html.576c981e.js"><link rel="prefetch" href="/assets/404.html.0ebd2d1e.js"><link rel="prefetch" href="/assets/index.html.6f877a42.js"><link rel="prefetch" href="/assets/index.html.e1c35a2c.js"><link rel="prefetch" href="/assets/index.html.1e667cb0.js"><link rel="prefetch" href="/assets/advanced-use.html.617a179e.js"><link rel="prefetch" href="/assets/advice-class.html.3966bc34.js"><link rel="prefetch" href="/assets/agent.html.169afc92.js"><link rel="prefetch" href="/assets/arthas-properties.html.22c5538b.js"><link rel="prefetch" href="/assets/arthas3.html.bf9d08b9.js"><link rel="prefetch" href="/assets/async.html.c6c0d8af.js"><link rel="prefetch" href="/assets/auth.html.5c0bb925.js"><link rel="prefetch" href="/assets/base64.html.6622b909.js"><link rel="prefetch" href="/assets/batch-support.html.ed0e8e34.js"><link rel="prefetch" href="/assets/cat.html.c157828e.js"><link rel="prefetch" href="/assets/classloader.html.78e92958.js"><link rel="prefetch" href="/assets/cls.html.597fe850.js"><link rel="prefetch" href="/assets/commands.html.8ea8f1c9.js"><link rel="prefetch" href="/assets/contact-us.html.c7f20f05.js"><link rel="prefetch" href="/assets/dashboard.html.2d16a96f.js"><link rel="prefetch" href="/assets/docker.html.9db38ea9.js"><link rel="prefetch" href="/assets/download.html.95f65033.js"><link rel="prefetch" href="/assets/dump.html.684152e3.js"><link rel="prefetch" href="/assets/echo.html.d544d81a.js"><link rel="prefetch" href="/assets/faq.html.93006841.js"><link rel="prefetch" href="/assets/getstatic.html.4d5ade71.js"><link rel="prefetch" href="/assets/grep.html.b546f76a.js"><link rel="prefetch" href="/assets/heapdump.html.df875ce1.js"><link rel="prefetch" href="/assets/help.html.7f7277a0.js"><link rel="prefetch" href="/assets/history.html.e386bef5.js"><link rel="prefetch" href="/assets/http-api.html.ff6573e2.js"><link rel="prefetch" href="/assets/idea-plugin.html.2c435bd6.js"><link rel="prefetch" href="/assets/install-detail.html.58bf7631.js"><link rel="prefetch" href="/assets/jad.html.71725b4d.js"><link rel="prefetch" href="/assets/jfr.html.33d0e87c.js"><link rel="prefetch" href="/assets/jvm.html.15cac4de.js"><link rel="prefetch" href="/assets/keymap.html.c39ae847.js"><link rel="prefetch" href="/assets/logger.html.66bfe44f.js"><link rel="prefetch" href="/assets/manual-install.html.f703b58a.js"><link rel="prefetch" href="/assets/mbean.html.abe68e1f.js"><link rel="prefetch" href="/assets/mc.html.582e3978.js"><link rel="prefetch" href="/assets/memory.html.74cd562f.js"><link rel="prefetch" href="/assets/monitor.html.fb70539d.js"><link rel="prefetch" href="/assets/ognl.html.58452c6e.js"><link rel="prefetch" href="/assets/options.html.4f6b8af0.js"><link rel="prefetch" href="/assets/perfcounter.html.b2361fcc.js"><link rel="prefetch" href="/assets/profiler.html.cfdf06fc.js"><link rel="prefetch" href="/assets/pwd.html.45f7b5f4.js"><link rel="prefetch" href="/assets/quick-start.html.98742ff3.js"><link rel="prefetch" href="/assets/quit.html.9be5034b.js"><link rel="prefetch" href="/assets/redefine.html.06971ba0.js"><link rel="prefetch" href="/assets/release-notes.html.ae7c7b03.js"><link rel="prefetch" href="/assets/reset.html.a2343863.js"><link rel="prefetch" href="/assets/retransform.html.4ce82edc.js"><link rel="prefetch" href="/assets/save-log.html.6180adba.js"><link rel="prefetch" href="/assets/sc.html.a72025c4.js"><link rel="prefetch" href="/assets/session.html.ef6f8ac5.js"><link rel="prefetch" href="/assets/sm.html.86cd6928.js"><link rel="prefetch" href="/assets/spring-boot-starter.html.248f9e7c.js"><link rel="prefetch" href="/assets/stack.html.1bde76ad.js"><link rel="prefetch" href="/assets/start-arthas.html.8d7621c3.js"><link rel="prefetch" href="/assets/stop.html.a68ed352.js"><link rel="prefetch" href="/assets/sysenv.html.40c9f7d4.js"><link rel="prefetch" href="/assets/sysprop.html.4eb01608.js"><link rel="prefetch" href="/assets/tee.html.436cef4e.js"><link rel="prefetch" href="/assets/thread.html.4f636016.js"><link rel="prefetch" href="/assets/trace.html.600f9b21.js"><link rel="prefetch" href="/assets/tt.html.9e9d979d.js"><link rel="prefetch" href="/assets/tunnel.html.b0c7fb87.js"><link rel="prefetch" href="/assets/version.html.69f86fd4.js"><link rel="prefetch" href="/assets/vmoption.html.639c7455.js"><link rel="prefetch" href="/assets/vmtool.html.98517f57.js"><link rel="prefetch" href="/assets/watch.html.53eabb0d.js"><link rel="prefetch" href="/assets/web-console.html.9c744879.js"><link rel="prefetch" href="/assets/index.html.a84844ee.js"><link rel="prefetch" href="/assets/advanced-use.html.39108be5.js"><link rel="prefetch" href="/assets/advice-class.html.2c6f4f1f.js"><link rel="prefetch" href="/assets/agent.html.719f7fa4.js"><link rel="prefetch" href="/assets/arthas-properties.html.343a2142.js"><link rel="prefetch" href="/assets/async.html.35353887.js"><link rel="prefetch" href="/assets/auth.html.e42b7afa.js"><link rel="prefetch" href="/assets/base64.html.28ca621c.js"><link rel="prefetch" href="/assets/batch-support.html.6b040071.js"><link rel="prefetch" href="/assets/cat.html.8716eb7e.js"><link rel="prefetch" href="/assets/classloader.html.f359a7bb.js"><link rel="prefetch" href="/assets/cls.html.e654aef1.js"><link rel="prefetch" href="/assets/commands.html.10091c22.js"><link rel="prefetch" href="/assets/contact-us.html.457d01dd.js"><link rel="prefetch" href="/assets/dashboard.html.bb68c60b.js"><link rel="prefetch" href="/assets/docker.html.d0532b9e.js"><link rel="prefetch" href="/assets/download.html.96adf786.js"><link rel="prefetch" href="/assets/dump.html.7397eecc.js"><link rel="prefetch" href="/assets/echo.html.2dc6eaf2.js"><link rel="prefetch" href="/assets/faq.html.6db3fc58.js"><link rel="prefetch" href="/assets/getstatic.html.1e109bf0.js"><link rel="prefetch" href="/assets/grep.html.c7e17e83.js"><link rel="prefetch" href="/assets/groovy.html.001f8d1b.js"><link rel="prefetch" href="/assets/heapdump.html.07bc1553.js"><link rel="prefetch" href="/assets/help.html.ebd24866.js"><link rel="prefetch" href="/assets/history.html.445ae69c.js"><link rel="prefetch" href="/assets/http-api.html.f5de2ec4.js"><link rel="prefetch" href="/assets/idea-plugin.html.be82f4f2.js"><link rel="prefetch" href="/assets/install-detail.html.0692c75f.js"><link rel="prefetch" href="/assets/jad.html.fa8e95fa.js"><link rel="prefetch" href="/assets/jfr.html.0dfa6982.js"><link rel="prefetch" href="/assets/jvm.html.a6c0f7fd.js"><link rel="prefetch" href="/assets/keymap.html.0e5a5b40.js"><link rel="prefetch" href="/assets/logger.html.d3d6c3e6.js"><link rel="prefetch" href="/assets/manual-install.html.b18c941c.js"><link rel="prefetch" href="/assets/mbean.html.05bd587d.js"><link rel="prefetch" href="/assets/mc.html.cb290020.js"><link rel="prefetch" href="/assets/memory.html.11c166db.js"><link rel="prefetch" href="/assets/monitor.html.49e70b36.js"><link rel="prefetch" href="/assets/ognl.html.4e58520e.js"><link rel="prefetch" href="/assets/options.html.cf3bf7c3.js"><link rel="prefetch" href="/assets/perfcounter.html.83ddcd61.js"><link rel="prefetch" href="/assets/profiler.html.8d268e29.js"><link rel="prefetch" href="/assets/pwd.html.43e9cc1a.js"><link rel="prefetch" href="/assets/quick-start.html.c0cf1f9e.js"><link rel="prefetch" href="/assets/quit.html.124a6c89.js"><link rel="prefetch" href="/assets/redefine.html.2483f8a2.js"><link rel="prefetch" href="/assets/release-notes.html.53ac11ef.js"><link rel="prefetch" href="/assets/reset.html.99285c85.js"><link rel="prefetch" href="/assets/retransform.html.9c53919b.js"><link rel="prefetch" href="/assets/save-log.html.5c8c7a50.js"><link rel="prefetch" href="/assets/sc.html.a3f58bf9.js"><link rel="prefetch" href="/assets/session.html.cb1f522c.js"><link rel="prefetch" href="/assets/sm.html.d8a5472b.js"><link rel="prefetch" href="/assets/spring-boot-starter.html.7c722865.js"><link rel="prefetch" href="/assets/stack.html.da28c14e.js"><link rel="prefetch" href="/assets/start-arthas.html.2c8f4ce4.js"><link rel="prefetch" href="/assets/stop.html.1bc31912.js"><link rel="prefetch" href="/assets/sysenv.html.3df0e090.js"><link rel="prefetch" href="/assets/sysprop.html.79164b76.js"><link rel="prefetch" href="/assets/tee.html.0f6c7e78.js"><link rel="prefetch" href="/assets/thread.html.88276c74.js"><link rel="prefetch" href="/assets/trace.html.e758c83b.js"><link rel="prefetch" href="/assets/tt.html.c722ad73.js"><link rel="prefetch" href="/assets/tunnel.html.f982c6d5.js"><link rel="prefetch" href="/assets/version.html.e9002a9e.js"><link rel="prefetch" href="/assets/vmoption.html.935ccf06.js"><link rel="prefetch" href="/assets/vmtool.html.3cb852d5.js"><link rel="prefetch" href="/assets/watch.html.91855110.js"><link rel="prefetch" href="/assets/web-console.html.570f2fb0.js"><link rel="prefetch" href="/assets/intro.html.2fdcc1f6.js"><link rel="prefetch" href="/assets/user-question-history11440.html.bf724961.js"><link rel="prefetch" href="/assets/user-question-history11442.html.76b083f2.js"><link rel="prefetch" href="/assets/user-question-history11443.html.dd43140c.js"><link rel="prefetch" href="/assets/user-question-history11444.html.653016c8.js"><link rel="prefetch" href="/assets/user-question-history11450.html.7d057dc8.js"><link rel="prefetch" href="/assets/user-question-history11451.html.1f26a5f1.js"><link rel="prefetch" href="/assets/user-question-history11452.html.bea18c73.js"><link rel="prefetch" href="/assets/user-question-history11453.html.87249060.js"><link rel="prefetch" href="/assets/user-question-history11454.html.3e79ce1b.js"><link rel="prefetch" href="/assets/user-question-history11466.html.f9d0e2b5.js"><link rel="prefetch" href="/assets/user-question-history11467.html.050a5b65.js"><link rel="prefetch" href="/assets/user-question-history11468.html.cee7430d.js"><link rel="prefetch" href="/assets/user-question-history11469.html.20a0d9c0.js"><link rel="prefetch" href="/assets/user-question-history11784.html.d3927d19.js"><link rel="prefetch" href="/assets/user-question-history11795.html.c3a233c7.js"><link rel="prefetch" href="/assets/user-question-history11809.html.72add501.js"><link rel="prefetch" href="/assets/user-question-history11810.html.c45d594c.js"><link rel="prefetch" href="/assets/user-question-history11814.html.472dad8c.js"><link rel="prefetch" href="/assets/user-question-history12453.html.e7b00da5.js"><link rel="prefetch" href="/assets/user-question-history12454.html.070671e6.js"><link rel="prefetch" href="/assets/user-question-history12455.html.11c0505a.js"><link rel="prefetch" href="/assets/user-question-history12706.html.22838089.js"><link rel="prefetch" href="/assets/user-question-history12715.html.40520bb9.js"><link rel="prefetch" href="/assets/user-question-history12716.html.037a2b51.js"><link rel="prefetch" href="/assets/user-question-history12740.html.6c67d89e.js"><link rel="prefetch" href="/assets/user-question-history12741.html.8f8ef438.js"><link rel="prefetch" href="/assets/user-question-history13448.html.5f318a8d.js"><link rel="prefetch" href="/assets/user-question-history13504.html.b4ad4d3e.js"><link rel="prefetch" href="/assets/user-question-history13506.html.1dd05bf1.js"><link rel="prefetch" href="/assets/user-question-history13507.html.0abfa3db.js"><link rel="prefetch" href="/assets/user-question-history13508.html.80bc13cc.js"><link rel="prefetch" href="/assets/user-question-history13509.html.1fabd419.js"><link rel="prefetch" href="/assets/user-question-history13510.html.3776c582.js"><link rel="prefetch" href="/assets/user-question-history13511.html.812ade32.js"><link rel="prefetch" href="/assets/user-question-history13512.html.6a5ff3a5.js"><link rel="prefetch" href="/assets/user-question-history13513.html.cffa2f95.js"><link rel="prefetch" href="/assets/user-question-history13522.html.7148f7cf.js"><link rel="prefetch" href="/assets/user-question-history14763.html.c98ba895.js"><link rel="prefetch" href="/assets/user-question-history14831.html.cbafb0f2.js"><link rel="prefetch" href="/assets/user-question-history14832.html.4b80ed42.js"><link rel="prefetch" href="/assets/user-question-history14833.html.8db8f508.js"><link rel="prefetch" href="/assets/user-question-history14834.html.3822e6fc.js"><link rel="prefetch" href="/assets/user-question-history14840.html.93548107.js"><link rel="prefetch" href="/assets/user-question-history14843.html.7ff9f07b.js"><link rel="prefetch" href="/assets/user-question-history15167.html.2c138f8a.js"><link rel="prefetch" href="/assets/user-question-history15543.html.51c1fac1.js"><link rel="prefetch" href="/assets/user-question-history15726.html.56513042.js"><link rel="prefetch" href="/assets/user-question-history15728.html.0493e20a.js"><link rel="prefetch" href="/assets/user-question-history15729.html.5c5f8459.js"><link rel="prefetch" href="/assets/user-question-history15730.html.29f394dc.js"><link rel="prefetch" href="/assets/user-question-history15731.html.aafe333e.js"><link rel="prefetch" href="/assets/user-question-history15735.html.5d6f161d.js"><link rel="prefetch" href="/assets/user-question-history15736.html.2bab0f9a.js"><link rel="prefetch" href="/assets/user-question-history15737.html.520a0092.js"><link rel="prefetch" href="/assets/user-question-history15738.html.4faf5663.js"><link rel="prefetch" href="/assets/user-question-history15739.html.d7f678a3.js"><link rel="prefetch" href="/assets/user-question-history15740.html.d979803b.js"><link rel="prefetch" href="/assets/404.html.6f723974.js">
<link rel="stylesheet" href="/assets/style.cf0d4c26.css">
</head>
<body>
<div id="app"><!--[--><div class="theme-container"><!--[--><header class="navbar"><div class="toggle-sidebar-button" title="切换侧边栏" aria-expanded="false" role="button" tabindex="0"><div class="icon" aria-hidden="true"><span></span><span></span><span></span></div></div><span><a href="/" class="" data-v-a8869d06><!----><span class="site-name can-hide" data-v-a8869d06>arthas</span><span class="navbar-version" data-v-a8869d06>v3.7.2</span></a></span><div class="navbar-items-wrapper" style=""><!--[--><!--]--><nav class="navbar-items can-hide"><!--[--><div class="navbar-item"><a href="/" class="" aria-label="首页"><!--[--><!--]--> 首页 <!--[--><!--]--></a></div><div class="navbar-item"><a class="external-link" href="/doc/arthas-tutorials.html?language=cn&amp;id=arthas-basics" rel="noopener noreferrer" target="_blank" aria-label="在线教程"><!--[--><!--]--><span>在线教程</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">在新窗口打开</span></span><!--[--><!--]--></a></div><div class="navbar-item"><a href="/doc/" class="router-link-active" aria-label="文档"><!--[--><!--]--> 文档 <!--[--><!--]--></a></div><div class="navbar-item"><a href="/doc/commands.md" class="" aria-label="命令列表"><!--[--><!--]--> 命令列表 <!--[--><!--]--></a></div><div class="navbar-item"><a href="/doc/download.md" class="" aria-label="下载"><!--[--><!--]--> 下载 <!--[--><!--]--></a></div><div class="navbar-item"><a href="/doc/expert/intro.md" class="" aria-label="专家答疑"><!--[--><!--]--> 专家答疑 <!--[--><!--]--></a></div><div class="navbar-item"><div class="navbar-dropdown-wrapper"><button class="navbar-dropdown-title" type="button" aria-label="Select language"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1em" height="1em" style="height:1.25rem;width:1.25rem;vertical-align:bottom;" viewbox="0 0 24 24"><path fill="currentColor" d="M13.35 22q-.6 0-.862-.387q-.263-.388-.063-.963l3.65-9.675q.15-.4.563-.688Q17.05 10 17.5 10q.425 0 .85.287q.425.288.575.688l3.65 9.675q.2.575-.062.963q-.263.387-.888.387q-.275 0-.5-.175q-.225-.175-.325-.425l-.85-2.45H15.1l-.875 2.45q-.1.25-.35.425q-.25.175-.525.175Zm2.35-4.8h3.6l-1.75-4.95h-.1ZM7.15 8.55q.4.725.85 1.337q.45.613 1.05 1.263q1.1-1.2 1.825-2.462Q11.6 7.425 12.1 6H2q-.425 0-.712-.287Q1 5.425 1 5t.288-.713Q1.575 4 2 4h6V3q0-.425.288-.713Q8.575 2 9 2t.713.287Q10 2.575 10 3v1h6q.425 0 .712.287Q17 4.575 17 5t-.288.713Q16.425 6 16 6h-1.9q-.525 1.775-1.425 3.45q-.9 1.675-2.225 3.15l2.4 2.45l-.75 2.05L9 14l-4.3 4.3q-.275.275-.7.275q-.425 0-.7-.275q-.275-.275-.275-.7q0-.425.275-.7l4.35-4.35q-.675-.775-1.25-1.563q-.575-.787-1.025-1.662Q5.1 8.8 5.35 8.4t.875-.4q.25 0 .525.162q.275.163.4.388Z"></path></svg><span class="arrow down"></span></button><button class="navbar-dropdown-title-mobile" type="button" aria-label="Select language"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1em" height="1em" style="height:1.25rem;width:1.25rem;vertical-align:bottom;" viewbox="0 0 24 24"><path fill="currentColor" d="M13.35 22q-.6 0-.862-.387q-.263-.388-.063-.963l3.65-9.675q.15-.4.563-.688Q17.05 10 17.5 10q.425 0 .85.287q.425.288.575.688l3.65 9.675q.2.575-.062.963q-.263.387-.888.387q-.275 0-.5-.175q-.225-.175-.325-.425l-.85-2.45H15.1l-.875 2.45q-.1.25-.35.425q-.25.175-.525.175Zm2.35-4.8h3.6l-1.75-4.95h-.1ZM7.15 8.55q.4.725.85 1.337q.45.613 1.05 1.263q1.1-1.2 1.825-2.462Q11.6 7.425 12.1 6H2q-.425 0-.712-.287Q1 5.425 1 5t.288-.713Q1.575 4 2 4h6V3q0-.425.288-.713Q8.575 2 9 2t.713.287Q10 2.575 10 3v1h6q.425 0 .712.287Q17 4.575 17 5t-.288.713Q16.425 6 16 6h-1.9q-.525 1.775-1.425 3.45q-.9 1.675-2.225 3.15l2.4 2.45l-.75 2.05L9 14l-4.3 4.3q-.275.275-.7.275q-.425 0-.7-.275q-.275-.275-.275-.7q0-.425.275-.7l4.35-4.35q-.675-.775-1.25-1.563q-.575-.787-1.025-1.662Q5.1 8.8 5.35 8.4t.875-.4q.25 0 .525.162q.275.163.4.388Z"></path></svg><span class="right arrow"></span></button><ul style="display:none;" class="navbar-dropdown"><!--[--><li class="navbar-dropdown-item"><a aria-current="page" href="/doc/groovy.html" class="router-link-active router-link-exact-active router-link-active" aria-label="简体中文"><!--[--><!--]--> 简体中文 <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a href="/en/doc/groovy.html" class="" aria-label="English"><!--[--><!--]--> English <!--[--><!--]--></a></li><!--]--></ul></div></div><div class="navbar-item"><a class="external-link" href="https://github.com/alibaba/arthas" rel="noopener noreferrer" target="_blank" aria-label="GitHub"><!--[--><!--]--><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewbox="0 0 24 24" style="height:1.25rem;width:1.25rem;vertical-align:bottom;"><path fill="currentColor" d="M12 2A10 10 0 0 0 2 12c0 4.42 2.87 8.17 6.84 9.5c.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34c-.46-1.16-1.11-1.47-1.11-1.47c-.91-.62.07-.6.07-.6c1 .07 1.53 1.03 1.53 1.03c.87 1.52 2.34 1.07 2.91.83c.09-.65.35-1.09.63-1.34c-2.22-.25-4.55-1.11-4.55-4.92c0-1.11.38-2 1.03-2.71c-.1-.25-.45-1.29.1-2.64c0 0 .84-.27 2.75 1.02c.79-.22 1.65-.33 2.5-.33c.85 0 1.71.11 2.5.33c1.91-1.29 2.75-1.02 2.75-1.02c.55 1.35.2 2.39.1 2.64c.65.71 1.03 1.6 1.03 2.71c0 3.82-2.34 4.66-4.57 4.91c.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0 0 12 2Z"></path></svg><!----><!--[--><!--]--></a></div><!--]--></nav><!--[--><!--]--><button class="toggle-color-mode-button" title="切换颜色模式"><svg style="" class="icon" focusable="false" viewBox="0 0 32 32"><path d="M16 12.005a4 4 0 1 1-4 4a4.005 4.005 0 0 1 4-4m0-2a6 6 0 1 0 6 6a6 6 0 0 0-6-6z" fill="currentColor"></path><path d="M5.394 6.813l1.414-1.415l3.506 3.506L8.9 10.318z" fill="currentColor"></path><path d="M2 15.005h5v2H2z" fill="currentColor"></path><path d="M5.394 25.197L8.9 21.691l1.414 1.415l-3.506 3.505z" fill="currentColor"></path><path d="M15 25.005h2v5h-2z" fill="currentColor"></path><path d="M21.687 23.106l1.414-1.415l3.506 3.506l-1.414 1.414z" fill="currentColor"></path><path d="M25 15.005h5v2h-5z" fill="currentColor"></path><path d="M21.687 8.904l3.506-3.506l1.414 1.415l-3.506 3.505z" fill="currentColor"></path><path d="M15 2.005h2v5h-2z" fill="currentColor"></path></svg><svg style="display:none;" class="icon" focusable="false" viewBox="0 0 32 32"><path d="M13.502 5.414a15.075 15.075 0 0 0 11.594 18.194a11.113 11.113 0 0 1-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 0 1-3.2-21.584M14.98 3a1.002 1.002 0 0 0-.175.016a13.096 13.096 0 0 0 1.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0 0 10.703-5.555a1.01 1.01 0 0 0-.783-1.565A13.08 13.08 0 0 1 15.89 4.38A1.015 1.015 0 0 0 14.98 3z" fill="currentColor"></path></svg></button><div id="docsearch-container"></div></div></header><!--]--><div class="sidebar-mask"></div><!--[--><aside class="sidebar"><nav class="navbar-items"><!--[--><div class="navbar-item"><a href="/" class="" aria-label="首页"><!--[--><!--]--> 首页 <!--[--><!--]--></a></div><div class="navbar-item"><a class="external-link" href="/doc/arthas-tutorials.html?language=cn&amp;id=arthas-basics" rel="noopener noreferrer" target="_blank" aria-label="在线教程"><!--[--><!--]--><span>在线教程</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">在新窗口打开</span></span><!--[--><!--]--></a></div><div class="navbar-item"><a href="/doc/" class="router-link-active" aria-label="文档"><!--[--><!--]--> 文档 <!--[--><!--]--></a></div><div class="navbar-item"><a href="/doc/commands.md" class="" aria-label="命令列表"><!--[--><!--]--> 命令列表 <!--[--><!--]--></a></div><div class="navbar-item"><a href="/doc/download.md" class="" aria-label="下载"><!--[--><!--]--> 下载 <!--[--><!--]--></a></div><div class="navbar-item"><a href="/doc/expert/intro.md" class="" aria-label="专家答疑"><!--[--><!--]--> 专家答疑 <!--[--><!--]--></a></div><div class="navbar-item"><div class="navbar-dropdown-wrapper"><button class="navbar-dropdown-title" type="button" aria-label="Select language"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1em" height="1em" style="height:1.25rem;width:1.25rem;vertical-align:bottom;" viewbox="0 0 24 24"><path fill="currentColor" d="M13.35 22q-.6 0-.862-.387q-.263-.388-.063-.963l3.65-9.675q.15-.4.563-.688Q17.05 10 17.5 10q.425 0 .85.287q.425.288.575.688l3.65 9.675q.2.575-.062.963q-.263.387-.888.387q-.275 0-.5-.175q-.225-.175-.325-.425l-.85-2.45H15.1l-.875 2.45q-.1.25-.35.425q-.25.175-.525.175Zm2.35-4.8h3.6l-1.75-4.95h-.1ZM7.15 8.55q.4.725.85 1.337q.45.613 1.05 1.263q1.1-1.2 1.825-2.462Q11.6 7.425 12.1 6H2q-.425 0-.712-.287Q1 5.425 1 5t.288-.713Q1.575 4 2 4h6V3q0-.425.288-.713Q8.575 2 9 2t.713.287Q10 2.575 10 3v1h6q.425 0 .712.287Q17 4.575 17 5t-.288.713Q16.425 6 16 6h-1.9q-.525 1.775-1.425 3.45q-.9 1.675-2.225 3.15l2.4 2.45l-.75 2.05L9 14l-4.3 4.3q-.275.275-.7.275q-.425 0-.7-.275q-.275-.275-.275-.7q0-.425.275-.7l4.35-4.35q-.675-.775-1.25-1.563q-.575-.787-1.025-1.662Q5.1 8.8 5.35 8.4t.875-.4q.25 0 .525.162q.275.163.4.388Z"></path></svg><span class="arrow down"></span></button><button class="navbar-dropdown-title-mobile" type="button" aria-label="Select language"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1em" height="1em" style="height:1.25rem;width:1.25rem;vertical-align:bottom;" viewbox="0 0 24 24"><path fill="currentColor" d="M13.35 22q-.6 0-.862-.387q-.263-.388-.063-.963l3.65-9.675q.15-.4.563-.688Q17.05 10 17.5 10q.425 0 .85.287q.425.288.575.688l3.65 9.675q.2.575-.062.963q-.263.387-.888.387q-.275 0-.5-.175q-.225-.175-.325-.425l-.85-2.45H15.1l-.875 2.45q-.1.25-.35.425q-.25.175-.525.175Zm2.35-4.8h3.6l-1.75-4.95h-.1ZM7.15 8.55q.4.725.85 1.337q.45.613 1.05 1.263q1.1-1.2 1.825-2.462Q11.6 7.425 12.1 6H2q-.425 0-.712-.287Q1 5.425 1 5t.288-.713Q1.575 4 2 4h6V3q0-.425.288-.713Q8.575 2 9 2t.713.287Q10 2.575 10 3v1h6q.425 0 .712.287Q17 4.575 17 5t-.288.713Q16.425 6 16 6h-1.9q-.525 1.775-1.425 3.45q-.9 1.675-2.225 3.15l2.4 2.45l-.75 2.05L9 14l-4.3 4.3q-.275.275-.7.275q-.425 0-.7-.275q-.275-.275-.275-.7q0-.425.275-.7l4.35-4.35q-.675-.775-1.25-1.563q-.575-.787-1.025-1.662Q5.1 8.8 5.35 8.4t.875-.4q.25 0 .525.162q.275.163.4.388Z"></path></svg><span class="right arrow"></span></button><ul style="display:none;" class="navbar-dropdown"><!--[--><li class="navbar-dropdown-item"><a aria-current="page" href="/doc/groovy.html" class="router-link-active router-link-exact-active router-link-active" aria-label="简体中文"><!--[--><!--]--> 简体中文 <!--[--><!--]--></a></li><li class="navbar-dropdown-item"><a href="/en/doc/groovy.html" class="" aria-label="English"><!--[--><!--]--> English <!--[--><!--]--></a></li><!--]--></ul></div></div><div class="navbar-item"><a class="external-link" href="https://github.com/alibaba/arthas" rel="noopener noreferrer" target="_blank" aria-label="GitHub"><!--[--><!--]--><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewbox="0 0 24 24" style="height:1.25rem;width:1.25rem;vertical-align:bottom;"><path fill="currentColor" d="M12 2A10 10 0 0 0 2 12c0 4.42 2.87 8.17 6.84 9.5c.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34c-.46-1.16-1.11-1.47-1.11-1.47c-.91-.62.07-.6.07-.6c1 .07 1.53 1.03 1.53 1.03c.87 1.52 2.34 1.07 2.91.83c.09-.65.35-1.09.63-1.34c-2.22-.25-4.55-1.11-4.55-4.92c0-1.11.38-2 1.03-2.71c-.1-.25-.45-1.29.1-2.64c0 0 .84-.27 2.75 1.02c.79-.22 1.65-.33 2.5-.33c.85 0 1.71.11 2.5.33c1.91-1.29 2.75-1.02 2.75-1.02c.55 1.35.2 2.39.1 2.64c.65.71 1.03 1.6 1.03 2.71c0 3.82-2.34 4.66-4.57 4.91c.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0 0 12 2Z"></path></svg><!----><!--[--><!--]--></a></div><!--]--></nav><!--[--><!--]--><ul class="sidebar-items"><!--[--><li><p tabindex="0" class="sidebar-item sidebar-heading">文档 <!----></p><ul style="" class="sidebar-item-children"><!--[--><li><a href="/doc/" class="router-link-active sidebar-item" aria-label="简介"><!--[--><!--]--> 简介 <!--[--><!--]--></a><!----></li><li><a href="/doc/quick-start.html" class="sidebar-item" aria-label="快速入门"><!--[--><!--]--> 快速入门 <!--[--><!--]--></a><!----></li><li><a href="/doc/install-detail.html" class="sidebar-item" aria-label="Arthas Install"><!--[--><!--]--> Arthas Install <!--[--><!--]--></a><!----></li><li><a href="/doc/download.html" class="sidebar-item" aria-label="下载"><!--[--><!--]--> 下载 <!--[--><!--]--></a><!----></li><li><a href="/doc/advice-class.html" class="sidebar-item" aria-label="表达式核心变量"><!--[--><!--]--> 表达式核心变量 <!--[--><!--]--></a><!----></li><li><a href="/doc/commands.md" class="sidebar-item collapsible" aria-label="命令列表"><!--[--><!--]--> 命令列表 <!--[--><!--]--></a><ul style="display:none;" class="sidebar-item-children"><!--[--><li><a href="/doc/auth.html" class="sidebar-item" aria-label="auth"><!--[--><!--]--> auth <!--[--><!--]--></a><!----></li><li><a href="/doc/base64.html" class="sidebar-item" aria-label="base64"><!--[--><!--]--> base64 <!--[--><!--]--></a><!----></li><li><a href="/doc/cat.html" class="sidebar-item" aria-label="cat"><!--[--><!--]--> cat <!--[--><!--]--></a><!----></li><li><a href="/doc/classloader.html" class="sidebar-item" aria-label="classloader"><!--[--><!--]--> classloader <!--[--><!--]--></a><!----></li><li><a href="/doc/cls.html" class="sidebar-item" aria-label="cls"><!--[--><!--]--> cls <!--[--><!--]--></a><!----></li><li><a href="/doc/dashboard.html" class="sidebar-item" aria-label="dashboard"><!--[--><!--]--> dashboard <!--[--><!--]--></a><!----></li><li><a href="/doc/dump.html" class="sidebar-item" aria-label="dump"><!--[--><!--]--> dump <!--[--><!--]--></a><!----></li><li><a href="/doc/echo.html" class="sidebar-item" aria-label="echo"><!--[--><!--]--> echo <!--[--><!--]--></a><!----></li><li><a href="/doc/getstatic.html" class="sidebar-item" aria-label="getstatic"><!--[--><!--]--> getstatic <!--[--><!--]--></a><!----></li><li><a href="/doc/grep.html" class="sidebar-item" aria-label="grep"><!--[--><!--]--> grep <!--[--><!--]--></a><!----></li><li><a href="/doc/heapdump.html" class="sidebar-item" aria-label="heapdump"><!--[--><!--]--> heapdump <!--[--><!--]--></a><!----></li><li><a href="/doc/help.html" class="sidebar-item" aria-label="help"><!--[--><!--]--> help <!--[--><!--]--></a><!----></li><li><a href="/doc/history.html" class="sidebar-item" aria-label="history"><!--[--><!--]--> history <!--[--><!--]--></a><!----></li><li><a href="/doc/jad.html" class="sidebar-item" aria-label="jad"><!--[--><!--]--> jad <!--[--><!--]--></a><!----></li><li><a href="/doc/jfr.html" class="sidebar-item" aria-label="jfr"><!--[--><!--]--> jfr <!--[--><!--]--></a><!----></li><li><a href="/doc/jvm.html" class="sidebar-item" aria-label="jvm"><!--[--><!--]--> jvm <!--[--><!--]--></a><!----></li><li><a href="/doc/keymap.html" class="sidebar-item" aria-label="keymap"><!--[--><!--]--> keymap <!--[--><!--]--></a><!----></li><li><a href="/doc/logger.html" class="sidebar-item" aria-label="logger"><!--[--><!--]--> logger <!--[--><!--]--></a><!----></li><li><a href="/doc/mbean.html" class="sidebar-item" aria-label="mbean"><!--[--><!--]--> mbean <!--[--><!--]--></a><!----></li><li><a href="/doc/mc.html" class="sidebar-item" aria-label="mc"><!--[--><!--]--> mc <!--[--><!--]--></a><!----></li><li><a href="/doc/memory.html" class="sidebar-item" aria-label="memory"><!--[--><!--]--> memory <!--[--><!--]--></a><!----></li><li><a href="/doc/monitor.html" class="sidebar-item" aria-label="monitor"><!--[--><!--]--> monitor <!--[--><!--]--></a><!----></li><li><a href="/doc/ognl.html" class="sidebar-item" aria-label="ognl"><!--[--><!--]--> ognl <!--[--><!--]--></a><!----></li><li><a href="/doc/options.html" class="sidebar-item" aria-label="options"><!--[--><!--]--> options <!--[--><!--]--></a><!----></li><li><a href="/doc/perfcounter.html" class="sidebar-item" aria-label="perfcounter"><!--[--><!--]--> perfcounter <!--[--><!--]--></a><!----></li><li><a href="/doc/profiler.html" class="sidebar-item" aria-label="profiler"><!--[--><!--]--> profiler <!--[--><!--]--></a><!----></li><li><a href="/doc/pwd.html" class="sidebar-item" aria-label="pwd"><!--[--><!--]--> pwd <!--[--><!--]--></a><!----></li><li><a href="/doc/quit.html" class="sidebar-item" aria-label="quit"><!--[--><!--]--> quit <!--[--><!--]--></a><!----></li><li><a href="/doc/redefine.html" class="sidebar-item" aria-label="redefine"><!--[--><!--]--> redefine <!--[--><!--]--></a><!----></li><li><a href="/doc/reset.html" class="sidebar-item" aria-label="reset"><!--[--><!--]--> reset <!--[--><!--]--></a><!----></li><li><a href="/doc/retransform.html" class="sidebar-item" aria-label="retransform"><!--[--><!--]--> retransform <!--[--><!--]--></a><!----></li><li><a href="/doc/sc.html" class="sidebar-item" aria-label="sc"><!--[--><!--]--> sc <!--[--><!--]--></a><!----></li><li><a href="/doc/session.html" class="sidebar-item" aria-label="session"><!--[--><!--]--> session <!--[--><!--]--></a><!----></li><li><a href="/doc/sm.html" class="sidebar-item" aria-label="sm"><!--[--><!--]--> sm <!--[--><!--]--></a><!----></li><li><a href="/doc/stack.html" class="sidebar-item" aria-label="stack"><!--[--><!--]--> stack <!--[--><!--]--></a><!----></li><li><a href="/doc/stop.html" class="sidebar-item" aria-label="stop"><!--[--><!--]--> stop <!--[--><!--]--></a><!----></li><li><a href="/doc/sysenv.html" class="sidebar-item" aria-label="sysenv"><!--[--><!--]--> sysenv <!--[--><!--]--></a><!----></li><li><a href="/doc/sysprop.html" class="sidebar-item" aria-label="sysprop"><!--[--><!--]--> sysprop <!--[--><!--]--></a><!----></li><li><a href="/doc/tee.html" class="sidebar-item" aria-label="tee"><!--[--><!--]--> tee <!--[--><!--]--></a><!----></li><li><a href="/doc/thread.html" class="sidebar-item" aria-label="thread"><!--[--><!--]--> thread <!--[--><!--]--></a><!----></li><li><a href="/doc/trace.html" class="sidebar-item" aria-label="trace"><!--[--><!--]--> trace <!--[--><!--]--></a><!----></li><li><a href="/doc/tt.html" class="sidebar-item" aria-label="tt"><!--[--><!--]--> tt <!--[--><!--]--></a><!----></li><li><a href="/doc/version.html" class="sidebar-item" aria-label="version"><!--[--><!--]--> version <!--[--><!--]--></a><!----></li><li><a href="/doc/vmoption.html" class="sidebar-item" aria-label="vmoption"><!--[--><!--]--> vmoption <!--[--><!--]--></a><!----></li><li><a href="/doc/vmtool.html" class="sidebar-item" aria-label="vmtool"><!--[--><!--]--> vmtool <!--[--><!--]--></a><!----></li><li><a href="/doc/watch.html" class="sidebar-item" aria-label="watch"><!--[--><!--]--> watch <!--[--><!--]--></a><!----></li><!--]--></ul></li><li><a href="/doc/advanced-use.md" class="sidebar-item collapsible" aria-label="其他特性"><!--[--><!--]--> 其他特性 <!--[--><!--]--></a><ul style="display:none;" class="sidebar-item-children"><!--[--><li><a href="/doc/async.html" class="sidebar-item" aria-label="Arthas 后台异步任务"><!--[--><!--]--> Arthas 后台异步任务 <!--[--><!--]--></a><!----></li><li><a href="/doc/save-log.html" class="sidebar-item" aria-label="执行结果存日志"><!--[--><!--]--> 执行结果存日志 <!--[--><!--]--></a><!----></li><li><a href="/doc/docker.html" class="sidebar-item" aria-label="Docker"><!--[--><!--]--> Docker <!--[--><!--]--></a><!----></li><li><a href="/doc/web-console.html" class="sidebar-item" aria-label="Web Console"><!--[--><!--]--> Web Console <!--[--><!--]--></a><!----></li><li><a href="/doc/tunnel.html" class="sidebar-item" aria-label="Arthas Tunnel"><!--[--><!--]--> Arthas Tunnel <!--[--><!--]--></a><!----></li><li><a href="/doc/idea-plugin.html" class="sidebar-item" aria-label="IDEA Plugin"><!--[--><!--]--> IDEA Plugin <!--[--><!--]--></a><!----></li><li><a href="/doc/arthas-properties.html" class="sidebar-item" aria-label="Arthas Properties"><!--[--><!--]--> Arthas Properties <!--[--><!--]--></a><!----></li><li><a href="/doc/agent.html" class="sidebar-item" aria-label="以 Java Agent 的方式启动"><!--[--><!--]--> 以 Java Agent 的方式启动 <!--[--><!--]--></a><!----></li><li><a href="/doc/spring-boot-starter.html" class="sidebar-item" aria-label="Arthas Spring Boot Starter"><!--[--><!--]--> Arthas Spring Boot Starter <!--[--><!--]--></a><!----></li><li><a href="/doc/http-api.html" class="sidebar-item" aria-label="Http API"><!--[--><!--]--> Http API <!--[--><!--]--></a><!----></li><li><a href="/doc/batch-support.html" class="sidebar-item" aria-label="批处理功能"><!--[--><!--]--> 批处理功能 <!--[--><!--]--></a><!----></li><!--]--></ul></li><li><a href="/doc/faq.html" class="sidebar-item" aria-label="FAQ"><!--[--><!--]--> FAQ <!--[--><!--]--></a><!----></li><li><p tabindex="0" class="sidebar-item collapsible">专家答疑 <span class="right arrow"></span></p><ul style="display:none;" class="sidebar-item-children"><!--[--><li><a href="/doc/expert/intro.html" class="sidebar-item" aria-label="无疑 专家智能答疑 介绍"><!--[--><!--]--> 无疑 专家智能答疑 介绍 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history11466.html" class="sidebar-item" aria-label="arthas 有没有在线教程?"><!--[--><!--]--> arthas 有没有在线教程? <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history12454.html" class="sidebar-item" aria-label="arthas 怎么查看内存情况?"><!--[--><!--]--> arthas 怎么查看内存情况? <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history13507.html" class="sidebar-item" aria-label="arthas查看内存占用大的地方"><!--[--><!--]--> arthas查看内存占用大的地方 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history14832.html" class="sidebar-item" aria-label="arthas启动时内存溢出"><!--[--><!--]--> arthas启动时内存溢出 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history15730.html" class="sidebar-item" aria-label="arthas 观察方法中的某个变量的值"><!--[--><!--]--> arthas 观察方法中的某个变量的值 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history11440.html" class="sidebar-item" aria-label="artahs 怎么使用?"><!--[--><!--]--> artahs 怎么使用? <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history11467.html" class="sidebar-item" aria-label="arthas 在线教程在哪?"><!--[--><!--]--> arthas 在线教程在哪? <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history12455.html" class="sidebar-item" aria-label="arthas 排查内存泄露的具体方法"><!--[--><!--]--> arthas 排查内存泄露的具体方法 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history13508.html" class="sidebar-item" aria-label="arthas 如何查看内存使用情况"><!--[--><!--]--> arthas 如何查看内存使用情况 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history14833.html" class="sidebar-item" aria-label="Start arthas failed, exception stack trace:com.sun.tools.attach"><!--[--><!--]--> Start arthas failed, exception stack trace:com.sun.tools.attach <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history15731.html" class="sidebar-item" aria-label="artahs 过滤方法的阐述"><!--[--><!--]--> artahs 过滤方法的阐述 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history11442.html" class="sidebar-item" aria-label="arthas 介绍一下"><!--[--><!--]--> arthas 介绍一下 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history11468.html" class="sidebar-item" aria-label="arthas 怎么使用?"><!--[--><!--]--> arthas 怎么使用? <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history12706.html" class="sidebar-item" aria-label="arthas 火焰图 怎么看?"><!--[--><!--]--> arthas 火焰图 怎么看? <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history13509.html" class="sidebar-item" aria-label="通过arthas怎样排查项目中哪个对象泄露了或者占用内存太大"><!--[--><!--]--> 通过arthas怎样排查项目中哪个对象泄露了或者占用内存太大 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history14834.html" class="sidebar-item" aria-label="使用arthas 跟踪进程服务后,进程所占用的文件描述符陡增,且文件描述符不下降"><!--[--><!--]--> 使用arthas 跟踪进程服务后,进程所占用的文件描述符陡增,且文件描述符不下降 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history15735.html" class="sidebar-item" aria-label="arthas报错connect to telnet server error: 127.0.0.1 9999"><!--[--><!--]--> arthas报错connect to telnet server error: 127.0.0.1 9999 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history11443.html" class="sidebar-item" aria-label="arthas 下载和安装"><!--[--><!--]--> arthas 下载和安装 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history11469.html" class="sidebar-item" aria-label="linux的arthas使用教程"><!--[--><!--]--> linux的arthas使用教程 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history12715.html" class="sidebar-item" aria-label="java 如何用arthas 查看 内存 情况?"><!--[--><!--]--> java 如何用arthas 查看 内存 情况? <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history13510.html" class="sidebar-item" aria-label="查看实时jvm内存大小"><!--[--><!--]--> 查看实时jvm内存大小 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history14840.html" class="sidebar-item" aria-label="Unsupported class file major version 61 using arthas 3.6.3"><!--[--><!--]--> Unsupported class file major version 61 using arthas 3.6.3 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history15736.html" class="sidebar-item" aria-label="artahs中jad参数"><!--[--><!--]--> artahs中jad参数 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history11444.html" class="sidebar-item" aria-label="arthas 命令解释"><!--[--><!--]--> arthas 命令解释 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history11784.html" class="sidebar-item" aria-label="arthas使用的各类方式有哪些"><!--[--><!--]--> arthas使用的各类方式有哪些 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history12716.html" class="sidebar-item" aria-label="arthas 怎么查看堆内存太高"><!--[--><!--]--> arthas 怎么查看堆内存太高 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history13511.html" class="sidebar-item" aria-label="arthas方法运行后查看成员变量"><!--[--><!--]--> arthas方法运行后查看成员变量 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history14843.html" class="sidebar-item" aria-label="arthas 支持jdk 20么"><!--[--><!--]--> arthas 支持jdk 20么 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history15737.html" class="sidebar-item" aria-label="进程停了 arthas也会同步停止么"><!--[--><!--]--> 进程停了 arthas也会同步停止么 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history11450.html" class="sidebar-item" aria-label="arthas 分析thread线程卡住"><!--[--><!--]--> arthas 分析thread线程卡住 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history11795.html" class="sidebar-item" aria-label="使用arthas查看成员变量值具体怎么做"><!--[--><!--]--> 使用arthas查看成员变量值具体怎么做 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history12740.html" class="sidebar-item" aria-label="arthas怎么分析cpu很高"><!--[--><!--]--> arthas怎么分析cpu很高 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history13512.html" class="sidebar-item" aria-label="如何查看java内存增长哪些对象"><!--[--><!--]--> 如何查看java内存增长哪些对象 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history15167.html" class="sidebar-item" aria-label="介绍一下arthas"><!--[--><!--]--> 介绍一下arthas <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history15738.html" class="sidebar-item" aria-label="arthas如何查看hashmap的值"><!--[--><!--]--> arthas如何查看hashmap的值 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history11451.html" class="sidebar-item" aria-label="arthas 怎么排查cpu占用过高"><!--[--><!--]--> arthas 怎么排查cpu占用过高 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history11809.html" class="sidebar-item" aria-label="linux下的arthas 具体怎么用?(使用教程)"><!--[--><!--]--> linux下的arthas 具体怎么用?(使用教程) <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history12741.html" class="sidebar-item" aria-label="如何使用arthas查看系统哪个地方内存占用过大"><!--[--><!--]--> 如何使用arthas查看系统哪个地方内存占用过大 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history13513.html" class="sidebar-item" aria-label="arthas 监听成员变量值的方法是什么?"><!--[--><!--]--> arthas 监听成员变量值的方法是什么? <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history15543.html" class="sidebar-item" aria-label="arthas中tt命令如何查看方法入参的具体命令"><!--[--><!--]--> arthas中tt命令如何查看方法入参的具体命令 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history15739.html" class="sidebar-item" aria-label="arthas可以监听私有方法吗"><!--[--><!--]--> arthas可以监听私有方法吗 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history11452.html" class="sidebar-item" aria-label="arthas 查看方法耗时"><!--[--><!--]--> arthas 查看方法耗时 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history11810.html" class="sidebar-item" aria-label="arthas查看方法耗时"><!--[--><!--]--> arthas查看方法耗时 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history13448.html" class="sidebar-item" aria-label="如何使用arthas分析慢查询"><!--[--><!--]--> 如何使用arthas分析慢查询 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history13522.html" class="sidebar-item" aria-label="Connect to telnet server error: 127.0.0.1 3658"><!--[--><!--]--> Connect to telnet server error: 127.0.0.1 3658 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history15726.html" class="sidebar-item" aria-label="arthas 如何查询static变量"><!--[--><!--]--> arthas 如何查询static变量 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history15740.html" class="sidebar-item" aria-label="arthas 分析内存身高的方法"><!--[--><!--]--> arthas 分析内存身高的方法 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history11453.html" class="sidebar-item" aria-label="arthas 怎样查看方法耗时"><!--[--><!--]--> arthas 怎样查看方法耗时 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history11814.html" class="sidebar-item" aria-label="arthas 怎么排查内存泄漏"><!--[--><!--]--> arthas 怎么排查内存泄漏 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history13504.html" class="sidebar-item" aria-label="如何查看实时jvm内存大小占用"><!--[--><!--]--> 如何查看实时jvm内存大小占用 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history14763.html" class="sidebar-item" aria-label="利用Arthas排查NoSuchMethodError"><!--[--><!--]--> 利用Arthas排查NoSuchMethodError <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history15728.html" class="sidebar-item" aria-label="arthas 获取成员变量"><!--[--><!--]--> arthas 获取成员变量 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history11454.html" class="sidebar-item" aria-label="arthas 常用命令介绍"><!--[--><!--]--> arthas 常用命令介绍 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history12453.html" class="sidebar-item" aria-label="artahs 怎么查看内存情况?"><!--[--><!--]--> artahs 怎么查看内存情况? <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history13506.html" class="sidebar-item" aria-label="如何查看java内存增长哪些对象"><!--[--><!--]--> 如何查看java内存增长哪些对象 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history14831.html" class="sidebar-item" aria-label="Dashboard 命令cpuUsage长期在90%左右"><!--[--><!--]--> Dashboard 命令cpuUsage长期在90%左右 <!--[--><!--]--></a><!----></li><li><a href="/doc/expert/user-question-history15729.html" class="sidebar-item" aria-label="arthas 怎么查看变量内容"><!--[--><!--]--> arthas 怎么查看变量内容 <!--[--><!--]--></a><!----></li><!--]--></ul></li><li><a class="external-link sidebar-item" href="https://github.com/alibaba/arthas/issues?q=label%3Auser-case" rel="noopener noreferrer" target="_blank" aria-label="用户案例"><!--[--><!--]--><span>用户案例</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">在新窗口打开</span></span><!--[--><!--]--></a><!----></li><li><a class="external-link sidebar-item" href="https://github.com/alibaba/arthas" rel="noopener noreferrer" target="_blank" aria-label="Star me at github"><!--[--><!--]--><span>Star me at 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">在新窗口打开</span></span><!--[--><!--]--></a><!----></li><li><a class="external-link sidebar-item" href="https://github.com/alibaba/arthas/blob/master/CONTRIBUTING.md" rel="noopener noreferrer" target="_blank" aria-label="编译调试/参与贡献"><!--[--><!--]--><span>编译调试/参与贡献</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">在新窗口打开</span></span><!--[--><!--]--></a><!----></li><li><a class="external-link sidebar-item" href="https://github.com/alibaba/arthas/releases" rel="noopener noreferrer" target="_blank" aria-label="Release Notes"><!--[--><!--]--><span>Release Notes</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">在新窗口打开</span></span><!--[--><!--]--></a><!----></li><li><a href="/doc/contact-us.md" class="sidebar-item" aria-label="QQ 群/钉钉群"><!--[--><!--]--> QQ 群/钉钉群 <!--[--><!--]--></a><!----></li><!--]--></ul></li><!--]--></ul><!--[--><!--]--></aside><!--]--><!--[--><main class="page" data-v-fdd717e0><!--[--><!--]--><div class="right-menu-padding theme-default-content" data-v-fdd717e0><!--[--><!--]--><div class="right-menu-wrapper" data-v-fdd717e0 data-v-64666cd5><div class="right-menu-margin" data-v-64666cd5><div class="right-menu-title" data-v-64666cd5>目录</div><div class="right-menu-content" data-v-64666cd5><!--[--><!--]--></div></div></div><div data-v-fdd717e0><h1 id="groovy" tabindex="-1"><a class="header-anchor" href="#groovy" aria-hidden="true">#</a> groovy</h1><div class="custom-container tip"><p class="custom-container-title">提示</p><p>Arthas 支持 groovy 脚本增强,允许像 BTrace 一样编写脚本来解决问题,可以在 groovy 脚本中进行 if/for/switch/while 等控制语句,不受限制,但相比 BTrace 而言拥有更多的限制范围。</p></div><h3 id="限制内容" tabindex="-1"><a class="header-anchor" href="#限制内容" aria-hidden="true">#</a> 限制内容</h3><ol><li>禁止改变原有逻辑,与 watch 等命令一样,重点保证的是监听和观察。</li><li>只允许在方法的 before/success/exception/finish 四个环节进行监听。</li></ol><h3 id="参数说明" tabindex="-1"><a class="header-anchor" href="#参数说明" aria-hidden="true">#</a> 参数说明</h3><table><thead><tr><th style="text-align:right;">参数名称</th><th style="text-align:left;">参数说明</th></tr></thead><tbody><tr><td style="text-align:right;"><em>class-pattern</em></td><td style="text-align:left;">类名表达式匹配</td></tr><tr><td style="text-align:right;"><em>method-pattern</em></td><td style="text-align:left;">方法名表达式匹配</td></tr><tr><td style="text-align:right;"><em>script-filepath</em></td><td style="text-align:left;">groovy 脚本的绝对路径</td></tr><tr><td style="text-align:right;">[S]</td><td style="text-align:left;">匹配所有的子类</td></tr><tr><td style="text-align:right;">[E]</td><td style="text-align:left;">开启正则表达式匹配,默认为通配符匹配</td></tr></tbody></table><p>需要说明的是,第三个输入参数是脚本的绝对路径,比如 <code>/tmp/test.groovy</code>,不建议输入相对路径,比如 <code>./test.groovy</code></p><h3 id="五个关键函数声明" tabindex="-1"><a class="header-anchor" href="#五个关键函数声明" aria-hidden="true">#</a> 五个关键函数声明</h3><div class="language-java ext-java line-numbers-mode"><pre class="language-java"><code><span class="token doc-comment comment">/**
* 增强脚本监听器
*/</span>
<span class="token keyword">interface</span> <span class="token class-name">ScriptListener</span> <span class="token punctuation">{</span>
<span class="token doc-comment comment">/**
* 脚本创建
*
* <span class="token keyword">@param</span> <span class="token parameter">output</span> 输出器
*/</span>
<span class="token keyword">void</span> <span class="token function">create</span><span class="token punctuation">(</span><span class="token class-name">Output</span> output<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token doc-comment comment">/**
* 脚本销毁
*
* <span class="token keyword">@param</span> <span class="token parameter">output</span> 输出器
*/</span>
<span class="token keyword">void</span> <span class="token function">destroy</span><span class="token punctuation">(</span><span class="token class-name">Output</span> output<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token doc-comment comment">/**
* 方法执行前
*
* <span class="token keyword">@param</span> <span class="token parameter">output</span> 输出器
* <span class="token keyword">@param</span> <span class="token parameter">advice</span> 通知点
*/</span>
<span class="token keyword">void</span> <span class="token function">before</span><span class="token punctuation">(</span><span class="token class-name">Output</span> output<span class="token punctuation">,</span> <span class="token class-name">Advice</span> advice<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token doc-comment comment">/**
* 方法正常返回
*
* <span class="token keyword">@param</span> <span class="token parameter">output</span> 输出器
* <span class="token keyword">@param</span> <span class="token parameter">advice</span> 通知点
*/</span>
<span class="token keyword">void</span> <span class="token function">afterReturning</span><span class="token punctuation">(</span><span class="token class-name">Output</span> output<span class="token punctuation">,</span> <span class="token class-name">Advice</span> advice<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token doc-comment comment">/**
* 方法异常返回
*
* <span class="token keyword">@param</span> <span class="token parameter">output</span> 输出器
* <span class="token keyword">@param</span> <span class="token parameter">advice</span> 通知点
*/</span>
<span class="token keyword">void</span> <span class="token function">afterThrowing</span><span class="token punctuation">(</span><span class="token class-name">Output</span> output<span class="token punctuation">,</span> <span class="token class-name">Advice</span> advice<span class="token punctuation">)</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 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><h3 id="参数-advice-说明" tabindex="-1"><a class="header-anchor" href="#参数-advice-说明" aria-hidden="true">#</a> 参数 <code>Advice</code> 说明</h3><p><code>Advice</code> 参数最主要是封装了通知节点的所有信息。参考<a href="/doc/advice-class.html" class="">表达式核心变量</a>中关于该节点的描述。</p><h3 id="参数-output-说明" tabindex="-1"><a class="header-anchor" href="#参数-output-说明" aria-hidden="true">#</a> 参数 <code>Output</code> 说明</h3><p><code>Output</code> 参数只拥有三个方法,主要的工作还是输出对应的文本信息</p><div class="language-java ext-java line-numbers-mode"><pre class="language-java"><code><span class="token doc-comment comment">/**
* 输出器
*/</span>
<span class="token keyword">interface</span> <span class="token class-name">Output</span> <span class="token punctuation">{</span>
<span class="token doc-comment comment">/**
* 输出字符串(不换行)
*
* <span class="token keyword">@param</span> <span class="token parameter">string</span> 待输出字符串
* <span class="token keyword">@return</span> this
*/</span>
<span class="token class-name">Output</span> <span class="token function">print</span><span class="token punctuation">(</span><span class="token class-name">String</span> string<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token doc-comment comment">/**
* 输出字符串(换行)
*
* <span class="token keyword">@param</span> <span class="token parameter">string</span> 待输出字符串
* <span class="token keyword">@return</span> this
*/</span>
<span class="token class-name">Output</span> <span class="token function">println</span><span class="token punctuation">(</span><span class="token class-name">String</span> string<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token doc-comment comment">/**
* 结束当前脚本
*
* <span class="token keyword">@return</span> this
*/</span>
<span class="token class-name">Output</span> <span class="token function">finish</span><span class="token punctuation">(</span><span class="token punctuation">)</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></div><h3 id="一个输出日志的-groovy-脚本示例" tabindex="-1"><a class="header-anchor" href="#一个输出日志的-groovy-脚本示例" aria-hidden="true">#</a> 一个输出日志的 groovy 脚本示例</h3><div class="language-groovy ext-groovy line-numbers-mode"><pre class="language-groovy"><code><span class="token keyword">import</span> com<span class="token punctuation">.</span>taobao<span class="token punctuation">.</span>arthas<span class="token punctuation">.</span>core<span class="token punctuation">.</span>command<span class="token punctuation">.</span>ScriptSupportCommand
<span class="token keyword">import</span> com<span class="token punctuation">.</span>taobao<span class="token punctuation">.</span>arthas<span class="token punctuation">.</span>core<span class="token punctuation">.</span>util<span class="token punctuation">.</span>Advice
<span class="token keyword">import</span> <span class="token keyword">static</span> java<span class="token punctuation">.</span>lang<span class="token punctuation">.</span>String<span class="token punctuation">.</span>format
<span class="token comment">/**
* 输出方法日志
*/</span>
<span class="token keyword">public</span> <span class="token keyword">class</span> <span class="token class-name">Logger</span> <span class="token keyword">implements</span> <span class="token class-name">ScriptSupportCommand<span class="token punctuation">.</span>ScriptListener</span> <span class="token punctuation">{</span>
<span class="token annotation punctuation">@Override</span>
<span class="token keyword">void</span> <span class="token function">create</span><span class="token punctuation">(</span>ScriptSupportCommand<span class="token punctuation">.</span>Output output<span class="token punctuation">)</span> <span class="token punctuation">{</span>
output<span class="token punctuation">.</span><span class="token function">println</span><span class="token punctuation">(</span><span class="token interpolation-string"><span class="token string">&quot;script create.&quot;</span></span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token annotation punctuation">@Override</span>
<span class="token keyword">void</span> <span class="token function">destroy</span><span class="token punctuation">(</span>ScriptSupportCommand<span class="token punctuation">.</span>Output output<span class="token punctuation">)</span> <span class="token punctuation">{</span>
output<span class="token punctuation">.</span><span class="token function">println</span><span class="token punctuation">(</span><span class="token interpolation-string"><span class="token string">&quot;script destroy.&quot;</span></span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token annotation punctuation">@Override</span>
<span class="token keyword">void</span> <span class="token function">before</span><span class="token punctuation">(</span>ScriptSupportCommand<span class="token punctuation">.</span>Output output<span class="token punctuation">,</span> Advice advice<span class="token punctuation">)</span> <span class="token punctuation">{</span>
output<span class="token punctuation">.</span><span class="token function">println</span><span class="token punctuation">(</span><span class="token function">format</span><span class="token punctuation">(</span><span class="token interpolation-string"><span class="token string">&quot;before:class=%s;method=%s;paramslen=%d;%s;&quot;</span></span><span class="token punctuation">,</span>
advice<span class="token punctuation">.</span><span class="token function">getClazz</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">getSimpleName</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
advice<span class="token punctuation">.</span><span class="token function">getMethod</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">getName</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
advice<span class="token punctuation">.</span><span class="token function">getParams</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span>length<span class="token punctuation">,</span> advice<span class="token punctuation">.</span><span class="token function">getParams</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 annotation punctuation">@Override</span>
<span class="token keyword">void</span> <span class="token function">afterReturning</span><span class="token punctuation">(</span>ScriptSupportCommand<span class="token punctuation">.</span>Output output<span class="token punctuation">,</span> Advice advice<span class="token punctuation">)</span> <span class="token punctuation">{</span>
output<span class="token punctuation">.</span><span class="token function">println</span><span class="token punctuation">(</span><span class="token function">format</span><span class="token punctuation">(</span><span class="token interpolation-string"><span class="token string">&quot;returning:class=%s;method=%s;&quot;</span></span><span class="token punctuation">,</span>
advice<span class="token punctuation">.</span><span class="token function">getClazz</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">getSimpleName</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
advice<span class="token punctuation">.</span><span class="token function">getMethod</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">getName</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 annotation punctuation">@Override</span>
<span class="token keyword">void</span> <span class="token function">afterThrowing</span><span class="token punctuation">(</span>ScriptSupportCommand<span class="token punctuation">.</span>Output output<span class="token punctuation">,</span> Advice advice<span class="token punctuation">)</span> <span class="token punctuation">{</span>
output<span class="token punctuation">.</span><span class="token function">println</span><span class="token punctuation">(</span><span class="token function">format</span><span class="token punctuation">(</span><span class="token interpolation-string"><span class="token string">&quot;throwing:class=%s;method=%s;&quot;</span></span><span class="token punctuation">,</span>
advice<span class="token punctuation">.</span><span class="token function">getClazz</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">getSimpleName</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
advice<span class="token punctuation">.</span><span class="token function">getMethod</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">getName</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>
</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></div><p>使用示例:</p><div class="language-text ext-text line-numbers-mode"><pre class="language-text"><code>$ groovy com.alibaba.sample.petstore.dal.dao.ProductDao getProductById /Users/zhuyong/middleware/arthas/scripts/Logger.groovy -S
script create.
Press Ctrl+C to abort.
Affect(class-cnt:1 , method-cnt:1) cost in 102 ms.
before:class=IbatisProductDao;method=getProductById;paramslen=1;[Ljava.lang.Object;@45df64fc;
returning:class=IbatisProductDao;method=getProductById;
before:class=IbatisProductDao;method=getProductById;paramslen=1;[Ljava.lang.Object;@5b0e2d00;
returning:class=IbatisProductDao;method=getProductById;
</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></div></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/doc/groovy.md" rel="noopener noreferrer" target="_blank" aria-label="在 GitHub 上编辑此页"><!--[--><!--]--><span>在 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">在新窗口打开</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">贡献者: </span><span class="meta-item-info"><!--[--><!--[--><span class="contributor" title="email: hengyunabc@gmail.com">hengyunabc</span><!--[-->, <!--]--><!--]--><!--[--><span class="contributor" title="email: ian.luo@gmail.com">beiwei30</span><!----><!--]--><!--]--></span></div></footer><!----><!--[--><!--]--></main><!--]--></div><!----><!--]--></div>
<script type="module" src="/assets/app.977e81c1.js" defer></script>
</body>
</html>