当前位置: 首页 > 面试题库 >

Java 9中的JavaLangAccess和SharedSecrets

丁理
2023-03-14
问题内容

似乎该包中的SharedSecretsJavaLangAccesssun.misc已在Java 9中删除。

Java 9中是否可以替代这些类提供的功能?


问题答案:

以上两个类都打包在jdk.internal.misc包中。

您可以尝试访问它们的一种方法是使用选项

--add-exports <source-module>/<package>=<target-module>(,<target-module>)*

对于您的用例为:

--add-exports java.base/jdk.internal.misc=your.module

注意-JEP-261:模块系统的 免责声明-

--add-exports--add- opens选择必须非常小心使用。您可以使用它们来访问库模块的内部API,甚至可以访问JDK本身,但这需要您自担风险:
如果更改或删除了该内部API,则库或应用程序将失败。



 类似资料:
  • 食氧;视窗7;JDK 9决赛从9日开始,21日结束;JUnit4.12和现有的应用程序。作为起点,可以编译、执行应用程序,并且所有JUnit测试都显示为绿色。现在我们使用eclipse生成文件模块信息。JAVA结果是: 但有一个错误:junit无法解析为模块。问题是:如何告诉文件junit没有定义任何模块,应该在兼容模式下运行?

  • 在IDE上执行程序时,它不会给出任何输出。我原以为它会给出。

  • Java文档可以使用工具生成。 它目前以格式生成文档。 在java 9中,可以通过在命令行参数中使用选项生成格式的文档。 旧式的java文档 考虑F:\worksp\java9文件夹中有一个Java文件:Tester.java,其代码如下 - 可以运行jdk 7 的javadoc工具来生成文档。 使用标志运行jdk 9的javadoc工具以生成新类型的文档。 打开生成的文件,如下所示 -

  • 过去,我通过安全策略文件启动了jstatd,如下所示:https://stackoverflow.com/a/14930180/1294116 但是,在Java9中,他们已经删除了文件,这意味着这个解决方案不再起作用。有人知道如何解决这个问题吗?(目前我又回到了获取错误)

  • 在Java最近几个主要版本的每一次迭代中,似乎都有管理并发任务的新方法。 在Java9中,我们有Flow API,它类似于RxJava的Flowable API,但在Java9中,它有一组简单得多的类和接口。 Java 9 具有类似流API的类的完整包,即、、、,它们似乎做了类似的事情。 这两个库的主要区别是什么?为什么有人会使用Java9Flow库而不是更多样化的RxJava库,或者反之亦然?

  • 类是在Java 8中引入的,可以通过设置其值和状态显式来完成。 它可以用作。 它支持未来完成时触发的相关函数和操作。 在Java 9中,CompletableFuture API进一步得到了增强。 以下是对API进行的相关更改。 支持延迟和超时。 改进了对子类的支持。 添加了新的工厂方法。 1. 支持延迟和超时 如果在给定超时之前未完成,则此方法使用给定值完成。 如果在给定的超时之前没有完成,则此