现在,"sun.misc.Perf "被移到哪里去了,因为工具.jar在Java 10中被 "分解 "了,而没有使用jvmattach[重复]。

问题描述 投票:5回答:1

我知道这是内部的API,但是以前sun.misc.Perf是在tools.jar中,在Java 910中,这个被删除了,并根据模块的概念进行了重组。是否还有一些方法可以访问它?

注意,我对使用jvmattach这样的封装库不感兴趣。我需要知道OpenJDK 10的哪个模块现在包含这些代码。

java java-9 java-10 java-module
1个回答
3
投票

实现已经被移到了 jdk.internal 包内 java.base 模块中的类。

正如其名称所示,这个包没有从模块中导出,因此如果你仍然想明确地使用这个包中的类,你可以使用VM选项------。

--add-exports java.base/jdk.internal=<your-module-name>

但请注意这是一种不可靠的使用这些类的方式,一个更好的解决方案将始终是为特定的用例进行迁移,而不依赖于(内部)的sun.misc.* 类。

© www.soinside.com 2019 - 2024. All rights reserved.