问题标签 [jep]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 杰普异常:: 缓冲区格式 'l' 对于字节 [] 无效
我们正在尝试使用如下方式从 java 代码中读取 python 模块的返回值。
我们在“Map output= (HashMap) interp.getValue('result_ind');”处收到以下错误
jep.JepException:<class 'TypeError'>:缓冲区格式 'l' 对于字节 [] 无效。在 jep.Jep.getValue(Native Method) 在 jep.Jep.getValue(Jep.java:487) 在
你能帮我们解决一下吗
java - 在什么情况下我应该使用 JEP334(JVM 常量 API)
我正在学习 Java 17,并且使用 JEP334(JVM 常量 API),我知道如何获取ClassDesc
, MethodTypeDesc
, MethodHandleDesc
, DynamicConstantDesc
.
但是这些对象能做什么呢?
在哪些应用场景中需要这些对象?
java - Lambda 表达式和匿名类在作为隐藏类加载时不起作用
我正在尝试在运行时编译和加载动态生成的 Java 代码。由于 ClassLoader::defineClass 和 Unsafe::defineAnonymousClass 在这种情况下都有严重的缺陷,我尝试通过Lookup::defineHiddenClass使用隐藏类。这适用于我尝试加载的所有类,除了那些调用 lambda 表达式或包含匿名类的类。
调用 lambda 表达式会引发以下异常:
执行实例化匿名类的代码会引发以下错误:
这是一个重现问题的简短示例:
我已经尝试使用不同的 JDK 编译和运行代码,使用不同的方式创建隐藏类的新实例,在https://bugs.openjdk.java.net/上搜索错误,弄乱字节码本身和几个其他事情。我不是 Java 内部的专家,所以我不确定我是否没有理解正确引入隐藏类的 JEP。
我做错了什么,这是不可能的还是这是一个错误?
编辑:JEP状态
迁移应考虑以下因素: 要从隐藏类中的代码调用私有的 nestmate 实例方法,请使用 invokevirtual 或 invokeinterface 而不是 invokespecial。使用invokespecial 调用私有nestmate 实例方法的生成字节码将无法验证。invokespecial 应该只用于调用私有的 nestmate 构造函数。
这可能是匿名类的问题。有没有办法编译代码,以便在字节码中避免调用特殊?