使用java -XX:+UnlockDiagnosticVMOptions -XX:DisableIntrinsic=_<method_name>[,...] 例如。java -XX:+UnlockDiagnosticVMOptions -XX:DisableIntrinsic=_equals,_hashCode 如@apangin所指出的,你可以先使用-XX:+PrintIntrinsics查看在你的测试中哪些方法实际上已经内部化并禁用它们。
Compile::make_vm_intrinsic
总是返回NULL,从而一次性禁用所有内置函数可能会更容易实现。 - apangin-XX:+PrintIntrinsics
命令打印所有已编译的内部函数,然后使用-XX:DisableIntrinsic=
命令禁用它们。 - apangin