gpt4 book ai didi

Java:从 jdk.* 导入是否安全?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:48:06 26 4
gpt4 key购买 nike

用这样的导入编写 Java 程序对我来说安全吗:

import jdk.nashorn.api.scripting.NashornScriptEngineFactory;
import jdk.nashorn.api.scripting.ClassFilter;

注意:在我的示例中,我导入了 Nashorn,但它可以是任何其他 jdk 包。

注意:我知道从 java.* 、 javax.* 导入是安全/正确的,从 sun.* 导入是不安全/不支持的。

我在这里看到一篇好文章:http://www.oracle.com/technetwork/java/faq-sun-packages-142232.html

我在 Java 官方文档中找不到任何地方告诉我这种或那种方式

谢谢

最佳答案

您应该按照 https://docs.oracle.com/javase/8/docs/jdk/api/nashorn/jdk/nashorn/api/scripting/package-summary.html 上的说明通过 javax.script 使用它们

Package jdk.nashorn.api.scripting Description

This package provides the javax.script integration, which is the preferred way to use Nashorn. You will ordinarily do this to obtain an instance of a Nashorn script engine:

import javax.script.*;
...
ScriptEngine nashornEngine = new ScriptEngineManager().getEngineByName("Nashorn");

但要回答您的问题,我会说“可能不会”。唯一官方保证支持的包是 java.*javax.*org.*

由于这些是唯一受支持的包,因此不支持所有其他包。

任何新的不受支持的包都不会命名为 sun.*,因为 Oracle 现在拥有 Java。

很可能有人选择 jdk.* 作为新的不受支持的包前缀,因为 sun.* 不再可用。

也就是说,他们不太可能很快将其删除,除非他们决定将其替换为另一个 Javascript 引擎,就像他们之前所做的那样。

另一个潜在的问题是您的程序将无法在不包含 Nashorn 的另一个 JDK 上运行。

关于Java:从 jdk.* 导入是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42537210/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com