2021
07-22
07-22
Java求余%操作引发的一连串故事
操作符%通常用在正整数上,但同样可以用在负整数和浮点数上。注意:只有当被除数是负数时,余数才是负的。C1RCE对%的处理HotSpotVM的C1有个RCE(RangeCheckElimination,范围检查消除)优化,所谓范围检查消除,就是为了正确的抛出数组越界异常,虚拟机需要在数组访问的一些地方插入隐式的检查,但是这些检查会降低性能,比如在循环中每次循环都得检查一次,所以HotSpotVM会想办法在可能的地方消除这些检查。我在看C1RC...
继续阅读 >