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