问题一:如果程序不满足"closed-world"假设,Substrate VM如何处理?
如果程序不满足"closed-world"假设,Substrate VM如何处理?
参考回答:
如果程序不满足"closed-world"假设,Substrate VM可以同时构建一个fallback image,这个image会使用传统的JVM执行,并需要JDK依赖。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/615358
问题二:Substrate VM在镜像构建时可以配置什么来绕过一些限制?
Substrate VM在镜像构建时可以配置什么来绕过一些限制?
参考回答:
在镜像构建时,可以配置一些信息来绕过一些限制,其中最关键的是类的元数据相关的一些配置,如动态类加载、反射、动态代理、JNI和序列化等。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/615360
问题三:在Substrate VM中,如何处理动态类加载?
在Substrate VM中,如何处理动态类加载?
参考回答:
对于像Class.forName("myClass")这样的动态类加载操作,必须在配置文件里明确配上myClass,否则在运行期会抛出ClassNotFoundException。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/615361
问题四:Substrate VM如何处理反射?
Substrate VM如何处理反射?
参考回答:
Substrate VM在构建时会通过检测对反射API的调用进行静态分析。对于无法通过静态分析获知的信息,需要进行配置。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/615362
问题五:在Substrate VM中,使用java.lang.reflect.Proxy API的动态代理有什么要求?
在Substrate VM中,使用java.lang.reflect.Proxy API的动态代理有什么要求?
参考回答:
在Substrate VM中,使用java.lang.reflect.Proxy API的动态代理要求动态代理的接口列表在构建期就是已知的。构建时会拦截对java.lang.reflect.Proxy.newProxyInstance和java.lang.reflect.Proxy.getProxyClass的调用来确定接口列表。如果静态分析失败,则需要进行配置。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/615364