讲师中心 微信公众号
AI工具推荐 视频效率加速

什么是JDK的bin目录下的exe工具_常见命令如jmap、jstack概览

阿芳大大_2620

阿芳大大_2620

发布时间:2026-02-21 14:25:03

|

440人浏览过

|

来源于php中文网

原创

JDK/bin工具是JVM诊断直接入口,需按问题反推使用:卡死用jstack查线程,内存问题用jmap看对象或dump,参数查询用jinfo,CPU高用jstat,注意权限、版本差异及jcmd替代方案。

什么是jdk的bin目录下的exe工具_常见命令如jmap、jstack概览

JDK/bin 目录下的 .exe 工具不是“辅助程序”,而是 JVM 运行时诊断与开发的直接操作入口——它们不依赖 IDE,不走图形界面,命令敲错一个参数就可能查不到堆、连不上进程、甚至 dump 失败。


怎么快速识别哪个工具该用在什么场景

别背列表,按你正在面对的问题反推:

  • Java 进程卡死、线程没响应?→ 优先跑 jstack <pid></pid> 看线程栈,尤其注意 WAITING 或 BLOCKED 状态的线程是否成对出现(比如锁竞争)
  • 内存暴涨、GC 频繁、疑似泄漏?→ 先用 jmap -histo <pid></pid> 快速看对象数量TOP10;真要分析就 jmap -dump:format=b,file=heap.hprof <pid></pid>,再用 jhat 或 VisualVM 打开(注意:dump 会暂停应用几秒,生产慎用)
  • 想确认某个 JVM 参数当前值(比如 MaxHeapSize)?→ jinfo -flag MaxHeapSize <pid></pid>,比翻启动脚本快得多
  • 刚上线的应用 CPU 突然飙高?→ jstat -gc -h10 <pid> 1000 5</pid>(每秒打一次 GC 统计,共5次),观察 YGC/FGC 次数和耗时,别一上来就 jstack

jmap 和 jstack 的常见误用坑

这两个命令看着简单,但权限、时机、JDK 版本差异直接决定结果是否可信:

Node.js 可靠编程
Node.js 可靠编程

Node.js 可靠编程技能。避免事件循环阻塞、异步陷阱、ESM 兼容问题和内存泄漏。触发词:Node.js 开发、async/await、流处理、性能优化、安全编码。

下载
  • jstack 在 Windows 上若没以管理员身份运行,可能报 Unable to open socket file —— 不是进程挂了,是权限不够读 /proc 类路径(Windows 下对应的是共享内存区)
  • jmap -dump 对 JDK 8u261+ 默认要求目标进程启用 -XX:+UseContainerSupport(容器环境)或显式加 -XX:+UnlockDiagnosticVMOptions,否则直接拒绝执行
  • 用 jmap -histo 看到大量 [C(char[])或 [B(byte[])?别急着删代码——先确认是不是日志框架(如 Logback)的异步队列堆积,或是 HTTP body 缓存未释放
  • jstack 输出里出现 java.lang.Thread.State: RUNNABLE 并不等于“正在干活”,它也可能卡在 synchronized 入口、IO 等待、甚至 Unsafe.park(线程池空闲等待)

为什么有些工具在 JDK 17+ 里找不到了

不是删了,是拆了、移了、或换名了:

  • javah 从 JDK 10 起彻底移除,JNI 头文件改用 javac -h 生成(例如:javac -h ./jni MyNativeClass.java)
  • jhat 自 JDK 9 起废弃,官方推荐用 jvisualvm 或 Eclipse MAT 分析 .hprof 文件;硬要用的话得单独下载旧版 JDK 8 的 bin 目录补上
  • appletviewer、javaws 这类 Applet/Web Start 工具,在 JDK 11 中已删除——它们依赖的插件机制早已被主流浏览器弃用
  • jcmd 是替代方案之一:它能做 jmap、jstack、jinfo 的大部分事,且无需额外 JVM 参数(比如:jcmd <pid> VM.native_memory summary</pid> 查本机内存)

真正难的不是记住每个命令,而是看到 OutOfMemoryError: Metaspace 时,立刻想到该用 jstat -gcmetacapacity <pid></pid> 而不是 jmap -histo;或者发现线程数持续上涨,第一反应是 jstack 后 grep java.util.concurrent 而不是直接重启。这些判断背后,是工具行为和 JVM 内部机制的咬合点——漏掉一个,排查就绕三圈。

热门AI工具

更多
WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

相关专题

更多
eclipse教程
eclipse教程

php中文网为大家带来eclipse教程合集,eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。php中文网还为大家带来eclipse的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

690

2023.06.14

eclipse怎么设置中文
eclipse怎么设置中文

eclipse设置中文的方法:除了设置界面为中文外,你还可以为Eclipse添加中文插件,以便更好地支持中文编程。例如,你可以安装EBNF插件来支持中文变量名,或安装Chinese Helper来提供中文帮助文档。本专题为大家提供eclipse设置中文相关的各种文章、以及下载和课程。

5886

2023.07.24

c语言编程软件有哪些
c语言编程软件有哪些

c语言编程软件有GCC、Clang、Microsoft Visual Studio、Eclipse、NetBeans、Dev-C++、Code::Blocks、KDevelop、Sublime Text和Atom。更多关于c语言编程软件的问题详情请看本专题的文章。php中文网欢迎大家前来学习。

9139

2023.11.02

Eclipse版本号有哪些区别
Eclipse版本号有哪些区别

区别:1、Eclipse 3.x系列:Eclipse的早期版本,包括3.0、3.1、3.2等;2、Eclipse 4.x系列:Eclipse的最新版本,包括4.0、4.1、4.2等;3、Eclipse IDE for Java Developers等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2804

2024.02.23

eclipse和idea有什么区别
eclipse和idea有什么区别

eclipse和idea的区别:1、平台支持;2、内存占用;3、插件系统;4、智能代码提示;5、界面设计;6、调试功能;7、学习曲线。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

662

2024.02.23

eclipse设置中文全教程
eclipse设置中文全教程

本专题整合了eclipse设置中文相关教程,阅读专题下面的文章了解更多详细操作。

3806

2025.10.10

eclipse字体放大教程
eclipse字体放大教程

本专题整合了eclipse字体放大教程,阅读专题下面的文章了解更多详细内容。

3825

2025.10.10

eclipse左边栏不见了解决方法
eclipse左边栏不见了解决方法

本专题整合了eclipse左边栏相关教程,阅读专题下面的文章了解更多详细内容。

528

2025.10.15

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

100

2026.10.28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
WEB前端教程【HTML5+CSS3+JS】
WEB前端教程【HTML5+CSS3+JS】

共101课时 | 21.3万人学习

JS进阶与BootStrap学习
JS进阶与BootStrap学习

共39课时 | 4.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn