2

我刚听说指令集扩展 AES-NI。如果可用于增强性能,Java 的 JIT 编译器是否会将应用程序编译为使用 AES-NI?

如果是,如果不确定是否会使用 AES(例如使用 TLS 时),它是否也会这样做?

4

2 回答 2

4

Java 87u40及更高版本包括对内置 SunJCE 提供程序的 x86 AES 内在函数的支持,但默认情况下不启用该功能(它是)。

在 globals.hpp中搜索“AES”:

product(bool, UseAES, false,                                              \
        "Control whether AES instructions can be used on x86/x64")        \
...
product(bool, UseAESIntrinsics, false,                                    \
        "Use intrinsics for AES versions of crypto")                      \

您可以通过将-XX:+UseAES -XX:+UseAESIntrinsics选项传递给虚拟机来启用该功能。

于 2014-08-26T17:43:23.873 回答
0

我认为它没有与JDK捆绑,您必须自己下载并构建它

请参阅https://software.intel.com/en-us/articles/intel-aes-ni-performance-testing-on-linuxjava-stack#enable-intel-eas-ni-in-oracle-jvm

于 2014-08-26T14:54:22.487 回答