Java演进问题之如果程序不满足"closed-world"假设,Substrate VM如何解决

简介: Java演进问题之如果程序不满足"closed-world"假设,Substrate VM如何解决

问题一:如果程序不满足"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

相关文章
|
12天前
|
Java 流计算
利用java8 的 CompletableFuture 优化 Flink 程序
本文探讨了Flink使用avatorscript脚本语言时遇到的性能瓶颈,并通过CompletableFuture优化代码,显著提升了Flink的QPS。文中详细介绍了avatorscript的使用方法,包括自定义函数、从Map中取值、使用Java工具类及AviatorScript函数等,帮助读者更好地理解和应用avatorscript。
利用java8 的 CompletableFuture 优化 Flink 程序
|
29天前
|
XML 存储 JSON
Java程序部署
Java程序部署
|
2天前
|
Java Maven 数据安全/隐私保护
如何实现Java打包程序的加密代码混淆,避免被反编译?
【10月更文挑战第15天】如何实现Java打包程序的加密代码混淆,避免被反编译?
12 2
|
5天前
|
安全 Java Linux
java程序设置开机自启
java程序设置开机自启
|
8天前
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
14 1
|
1月前
|
消息中间件 分布式计算 Java
Linux环境下 java程序提交spark任务到Yarn报错
Linux环境下 java程序提交spark任务到Yarn报错
34 5
|
1月前
|
Java 编译器 数据库连接
探索Java中的异常处理:提升程序的鲁棒性
【9月更文挑战第25天】在Java的世界里,异常是那些不请自来、令人头疼的“客人”。它们悄无声息地潜入我们的代码,一旦出现,便可能导致程序崩溃或行为异常。但是,如果能够妥善管理这些异常,我们就能将潜在的灾难转变为增强程序鲁棒性和用户体验的机会。本文将通过深入浅出的方式,带领读者理解Java异常处理的重要性,并提供实用的策略来优雅地处理这些意外情况。让我们一起学习如何在Java中捕捉、处理和预防异常,确保我们的程序即使在面对不可预见的错误时也能保持稳健运行。
|
10天前
|
Java Python
如何通过Java程序调用python脚本
如何通过Java程序调用python脚本
11 0
|
1月前
|
监控 Java 数据库
Java程序如何进行不停机更新?
Java程序如何进行不停机更新?
40 1
|
16天前
|
Java
java的程序记录时间
java的程序记录时间
21 0