java - 访问运行中的 JVM 原始内存

标签 java jvm memory-dump

如果这是一个无知的问题,请原谅我,我不是一个专家程序员,只是好奇而已。是否可以从正在运行的程序内部读取工作内存,比如类的实例?

我知道您可以执行 println(theInstance.getClass()); 之类的操作,它会为您提供实例的内存地址(我假设它是什么)。我想知道是否可以做类似 byte[]memory = theInstance.getClass().getMemory(); 这样的事情println(toString(memory)); 我知道这一切都是虚构的,但只是为了说明。

最佳答案

不使用标准 Java API。但是,您可以通过 sun.misc.Unsafe 访问内存(您可能需要使用反射来获取此类的实例)。当然,您也可以通过 JNI 执行此操作。

但是你为什么要这么做?

关于java - 访问运行中的 JVM 原始内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1837770/

相关文章:

JAVA : change font's size in java

java - 如何在Servlet中实现Template Method

java - JVM 总是会创建 Object 类的实例吗

java - Java5/Java6 应用程序到 Java 7 的周到迁移计划?

c#-4.0 - .Net 4 相当于 Java 的 Thread Dump

Java方法不返回输出?

java - Java 中的 JSON 二进制数组到图像

common-lisp - 从 Emacs 多线程错误保存 SBCL 图像

java - 在 NPE 的情况下获取尝试的操作

java - 如何从命令行查看内存使用情况、Java 程序的线程转储?