我刚听说指令集扩展 AES-NI。如果可用于增强性能,Java 的 JIT 编译器是否会将应用程序编译为使用 AES-NI?
如果是,如果不确定是否会使用 AES(例如使用 TLS 时),它是否也会这样做?
我刚听说指令集扩展 AES-NI。如果可用于增强性能,Java 的 JIT 编译器是否会将应用程序编译为使用 AES-NI?
如果是,如果不确定是否会使用 AES(例如使用 TLS 时),它是否也会这样做?
Java 8和7u40及更高版本包括对内置 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
选项传递给虚拟机来启用该功能。
我认为它没有与JDK捆绑,您必须自己下载并构建它