java - 如何从 Java 程序内存中清除字符串?

标签 java jvm

我正在尝试学习 JVM 附加。我已经学会了如何将代理附加到 JVM,并且一切正常。我的问题是,附加后是否可以从目标内存中删除字符串?如果您使用 Process Hacker 2 搜索 .jar,您可以找到它在内存中的路径。例子: In this screenshot there are alot of strings left in the memory

我见过一些程序在做类似的事情,比如 LSquad(这是一个用于清除 Minecraft hacks 字符串的程序)。我尝试使用 Luyten 反编译它,发现它使用了外部 DLL。你能用原生java来做吗,还是需要一个外部库?

最佳答案

您可以通过不再引用该字符串来删除该字符串或任何对象(并执行 GC,很可能需要完整的 GC)

在你的例子中,突出显示的字符串是一个 jar,很可能你需要卸载该 DLL 来释放它。 (我不知道您是否或如何在 JVM 中执行此操作)

关于java - 如何从 Java 程序内存中清除字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46144056/

相关文章:

java - 我的 AdMob 广告不起作用,但一切似乎都写得正确

java - 将 AWS 签名 header 添加到所有放心请求中

java - 协程中的具体泛型参数不起作用

c++ - C 变量可以声明为空吗?

jakarta-ee - 帮我稳定这个 jRun 配置 (CF9/Win2k3/IIS6)

java - 静态方法与内部类方法 - 性能 [java 8]

java - 删除并重新创建数组或用零填充它是否更快,为什么?

java - java中匹配两个路径

java.lang.NoClassDefFoundError : org/apache/commons/lang/StringUtils when deploying web application

JVM垃圾回收算法