Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 什么是GeneratedMethodAccessor 1、2等,为什么找不到它们?_Java_Reflection_Bytecode Manipulation - Fatal编程技术网

Java 什么是GeneratedMethodAccessor 1、2等,为什么找不到它们?

Java 什么是GeneratedMethodAccessor 1、2等,为什么找不到它们?,java,reflection,bytecode-manipulation,Java,Reflection,Bytecode Manipulation,我得到的堆栈跟踪如下: java.lang.NoClassDefFoundError: sun/reflect/GeneratedMethodAccessor1 at sun.reflect.GeneratedMethodAccessor1.<clinit>(Unknown Source) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflec

我得到的堆栈跟踪如下:

java.lang.NoClassDefFoundError: sun/reflect/GeneratedMethodAccessor1
    at sun.reflect.GeneratedMethodAccessor1.<clinit>(Unknown Source)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at java.lang.Class.newInstance0(Class.java:355)
    at java.lang.Class.newInstance(Class.java:308)
    at sun.reflect.MethodAccessorGenerator$1.run(MethodAccessorGenerator.java:381)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.reflect.MethodAccessorGenerator.generate(MethodAccessorGenerator.java:377)
    at sun.reflect.MethodAccessorGenerator.generateMethod(MethodAccessorGenerator.java:59)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:28)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at edu.tufts.cs.testsim.LogicalProcess.dispatchMessage(LogicalProcess.java:214)
    at edu.tufts.cs.testsim.LogicalProcess.processForward(LogicalProcess.java:287)
    at edu.tufts.cs.testsim.LogicalProcess.doOperation(LogicalProcess.java:423)
    at edu.tufts.cs.testsim.LogicalProcess.run(LogicalProcess.java:434)
    at java.lang.Thread.run(Thread.java:637)
Caused by: java.lang.ClassNotFoundException: sun.reflect.GeneratedMethodAccessor1
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:316)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:288)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374)
    ... 19 more
java.lang.NoClassDefFoundError:sun/reflect/GeneratedMethodAccessor 1
在sun.reflect.GeneratedMethodAccessor 1(未知来源)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
位于java.lang.reflect.Constructor.newInstance(Constructor.java:513)
位于java.lang.Class.newInstance0(Class.java:355)
位于java.lang.Class.newInstance(Class.java:308)
在sun.reflect.MethodAccessorGenerator$1.run(MethodAccessorGenerator.java:381)
位于java.security.AccessController.doPrivileged(本机方法)
在sun.reflect.MethodAccessorGenerator.generate(MethodAccessorGenerator.java:377)中
在sun.reflect.MethodAccessorGenerator.generateMethod(MethodAccessorGenerator.java:59)
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:28)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)中
位于java.lang.reflect.Method.invoke(Method.java:597)
位于edu.tufts.cs.testsim.LogicalProcess.dispatchMessage(LogicalProcess.java:214)
位于edu.tufts.cs.testsim.LogicalProcess.processForward(LogicalProcess.java:287)
位于edu.tufts.cs.testsim.LogicalProcess.doOperation(LogicalProcess.java:423)
位于edu.tufts.cs.testsim.LogicalProcess.run(LogicalProcess.java:434)
运行(Thread.java:637)
原因:java.lang.ClassNotFoundException:sun.reflect.GeneratedMethodAccessor 1
在java.net.URLClassLoader$1.run(URLClassLoader.java:200)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.net.URLClassLoader.findClass(URLClassLoader.java:188)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:316)
位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:288)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:251)
位于java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374)
... 还有19个

什么是GeneratedMethodAccessor 1、GeneratedMethodAccessor 2、GeneratedMethodAccessor?什么可能导致找不到它们?我正在运行时重写一些字节码,但只是在类加载之前,通过反射的前几个调用工作正常。我想知道这是否是在JIT编译器获得我的代码后发生的,但我甚至不知道如何开始调试它。

GeneratedMethodAccessor
是由反射实现在运行时生成的类,用于调用方法和构造函数。这形成了从
方法
构造函数
实例到实际方法或构造函数的字节码桥。源代码中提供了更多信息

反序列化也会执行类似的操作,共享一些相同的机制,以调用派生最多的不可序列化的构造函数