java - 在没有安装 JDK 且进程作为服务运行的情况下,如何在 Windows 上从 Java 5 获取 JVM 堆转储

标签 java

这对我来说很困难:

  1. Windows,所以没有信号。
  2. 不在控制台中,因此没有信号。
  3. 作为一项服务,因此可能不会在用户 session 中运行。
  4. Java 5
  5. 没有 JDK,因此机器上没有 jmap、jconsole 等。
  6. 应用未运行 JMX。
  7. 没有安装或重新配置的选项。
  8. 可以插入 USB。

最佳答案

据我所知,即使您拥有对计算机的完全访问权限,也无法使用 Java 5.0 触发堆转储。 (诚​​然,我已经超过五年没有使用 Java 5.0)使用 Java 6,您需要 JMX 或在内存不足错误时触发堆转储。

如果您能找到支持 Java 5.0 的内存分析器,某些内存分析器可能允许您执行堆转储(采用其自己的格式),但您必须从一开始就启用分析,而从 Java 5.0 开始,这往往相对较慢内存。

关于java - 在没有安装 JDK 且进程作为服务运行的情况下,如何在 Windows 上从 Java 5 获取 JVM 堆转储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11901681/

相关文章:

java - 如何判断H2数据库文件锁是否存在?

java - getNodeValue() 有问题吗?

java - 如何减少 Android 按钮对象中文本周围的内部填充?

java - Swing/AWT - 以编程方式创建 GUI

java - 使用 MySql 在 Java 中实现谷歌云消息传递

java - 傅立叶变换字节数组

java - 如何在Android中为整个应用程序设置自定义字体

java - Android - Java空指针异常

java - 将矩阵的 HashMap 写入文件 Java

具有多态引用的 Java 集合