小编Gui*_*ann的帖子

使用 ASM 的 JVM INVOKESPECIAL 私有构造函数

我正在使用 ASM 生成一些字节码并动态执行它。但在某些情况下,我需要调用私有构造函数,但我不知道如何调用。我知道可以通过反射(setAccessible)调用私有构造函数,但是我如何直接在字节码/jvm中执行此操作?

mv.visitMethodInsn(
        INVOKESPECIAL, target.byteCodeName(), "<init>", "()V", false
    )
Run Code Online (Sandbox Code Playgroud)

当 JVM 执行此代码时,它会抛出 java.lang.IllegalAccessError。

java jvm bytecode java-bytecode-asm jvm-bytecode

3
推荐指数
1
解决办法
953
查看次数

标签 统计

bytecode ×1

java ×1

java-bytecode-asm ×1

jvm ×1

jvm-bytecode ×1