为什么java8服务器JRE不包含服务器特定的工具,如jstack,jmap,jvisualvm,jstat

Atu*_*man 18 java

来自oracle

Server JRE包括用于JVM监视的工具和服务器应用程序通常需要的工具,但不包括浏览器集成(Java插件).

从服务器端工具的使用情况来看,最常用于监控的工具列表是jstack,jvisualvm,jstat,jconsole; 服务器jre包的jdk/bin中缺少所有内容.

任何关于这种捆绑背后的理性的想法.

编辑

这只是"服务器jre 8"的情况.对于"服务器jre 7",所有这些工具都存在.

Atu*_*man 22

经过一些研究,我发现许多"缺失"的工具功能实际上仍然可用.

例如,jcmd可以做同样的事情而不仅仅是jstack.要在严重的jre 8中进行线程转储,请使用jcmd $PID Thread.print.

jconsole工具功能是间接可用的,即使bin中缺少jconsole,jconsole.jar也在lib文件夹中,你可以使用它java -jar lib/jconsole.jar来获得相同的旧功能.

jcmd也可用于获取其他内存/ gc统计信息.运行jcmd $pid help以查看更多信息.

因此,使用这些工具,我认为在服务器jre 8中获得与我们以前在服务器jre 7中获得相同的功能集是很好的,并且它可能会从服务器jre 8中删除以删除冗余.