cost 108 ms
为什么来自 MethodHandle 的 WrongMethodTypeException? 我的 object 类型不正确吗? - Why a WrongMethodTypeException from MethodHandle? Is my object type incorrect?

我在尝试将我的事件系统从反射切换到 MethodHandle 时遇到了问题。 我正在使用 KyoriPowered 在 Github ( https://github.com/KyoriPowered/event ) 上的事件总线(版本 3.0.0)。 我的代码如下:public class Ev ...

Java 8 | 在字段上动态使用 MethodHandle#invokeExact - Java 8 | Using MethodHandle#invokeExact on fields dynamically

我的目标是创建一个 MethodHandle,通过传递 class 和字段名称,使用 MethodHandle getter 读取该字段并返回值。 使用这种方法,我想返回任意 object: 我通过 Reflections 收到了 Field f。 现在的问题是,当这个方法被执行时,典型的invo ...

MethodHandle 强制转换返回类型 - MethodHandle cast return type

我尝试通过方法句柄将方法链接在一起,其中一些来自泛型类型。 如果 function 返回泛型类型,我必须为 MethodType 指定 Object.class ,但我认为没有简单的方法将其转换回泛型类型参数类型。 在大多数情况下,这没有问题,因为invoke 似乎会自动转换它们,但我必须创建可以使 ...

如何使用`MethodHandle`模仿`tableswitch`? - How to mimic `tableswitch` using `MethodHandle`?

上下文:我一直在对使用invokedynamic和手动生成字节码之间的区别进行基准测试(这是在决定针对 JVM 的编译器是否应该发出更详细的“传统”字节码或只是使用巧妙的引导方法的invokedynamic调用的上下文中)。 在执行此操作时,将 map 字节码转换为至少一样快的MethodHand ...

可以以绕过访问控制的方式使用 MethodHandle 常量吗? - Can a MethodHandle constant be used in such a way as to bypass access control?

我正在使用 JDK 15。(我正在使用 ByteBuddy 1.10.16 来生成一些类,但我认为除了作为背景信息之外,它在这里几乎无关紧要。) 在这些生成的类之一中,我在我设法存储在生成的类中的MethodHandle常量上调用invokeExact() 。 它是通过MethodHandles. ...

为什么即使 MethodHandle 没问题,在 invokeExact 上也会得到 WrongMethodTypeException - Why do I get a WrongMethodTypeException on invokeExact even though MethodHandle is OK

我正在尝试调用一个 invoke 方法,但有一个我无法解释的错误。 我听说 Invoke Exact 方法必须返回,但即使那时它也不起作用。 在此代码上程序崩溃 这是包含我要调用的方法的类 ...

创建一个转换器以使用 ByteBuddy 从代理添加 class - Creating a transformer to add a class from an agent using ByteBuddy

我正在尝试从使用 ByteBuddy 实现的代理加载类。 我在代理中定义了一个 class 并希望将其加载到目标程序中。 这是我的变压器的样子: 但是,此代码不起作用。 它抛出以下错误: 堆栈跟踪如下所示: 在此示例中, SourcePageFetcher是 targetClass, Remove ...

有没有办法判断运行时类型是否被删除 - Is there a way to tell if the runtime type was erased

这将是一个有点复杂的解释,但我会尝试。 假设您有一个通用 class: 还有一个允许以反射方式调用getValue的方法: 这是做什么的为getValue方法创建一个MethodHandle 调整MethodHandle ,以便我可以在其上调用invokeExact (否则我需要调用invoke , ...

使用 java MethodHandles 实现鸭子类型 - Implement duck typing using java MethodHandles

我有两个类A和B ,它们都定义了具有共同签名的方法foo() (什么都不接受,返回无效)。 它们没有声明此方法的公共基础 class(或接口)。 我想在 As 或 Bs 上调用此方法,只要他们可以响应此调用即可。 这种方法称为鸭子打字。 我知道有一条指令叫做invokedynamic : invo ...

从对象中私有的关键字段获取MethodHandle的列表 - Get List of MethodHandle from key fields which are private in an object

我有一个包含许多私有字段的对象列表,我想根据数据库中的一些关键字段对它们进行分组。 方法类在另一个包中。 我的对象看起来像 并且关键字段可以是对象中字段的任意组合 我试图获取关键字段的MethodHandle列表。 该MethodHandle列表将在以后流化并为Collect ...

从 jar 中获取 csv 文件 - get csv file from jar

我有以下代码行: 有人可以向新手解释一下: 该代码工作并访问位于 jar 中的 csv 文件。 我只是不明白每种方法在做什么 我能够将这条线简化为: 但还是很困惑。 SQLUtilProd.class 有什么作用? 以及 getResourceAsStream 如何知道从 jar 中获 ...

如何在 Java 9+ 中创建一个 varhandle 来访问数组的元素 - How to create a varhandle to access elements of an array in Java 9+

我正在尝试转换一些使用 Unsafe 对类中的局部变量执行内存访问的代码,并且该代码似乎也使用 Unsafe 来访问数组中的元素。 我有以下代码来为单个元素创建一个 VarHandle,它似乎有效。 我还读到您还可以使用 VarHandles 来访问数组元素。 使用上面的代码,我可以获得对整个 ...

如何链接MethodHandle调用? - How to chain MethodHandle invocations?

我有一个问题,其中有多个具有相同签名的方法(所有方法都返回void)。 我希望能够将这些方法的methodHandles组合在一起,从而获得将依次调用每个方法的methodHandle。 我解决此问题的唯一方法是使用guardWithTest,我在以下网址提供了一个示例说明如何使用它: ...


 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM