Стоит отметить, что умножение на 0 не всегда равно 0. Например, для бесконечности и NaN, умножение на 0 дает NaN.
Компилятор javac оптимизирует константные выражения.Если компилятор может определить, что результат всегда является фиксированным значением, он выполняет вычисления во время компиляции.
Компилятор HotSpot очень хорош в оптимизации кода, который ничего не делает.Это не означает, что он оптимизирует каждую возможную вещь, которую вы можете себе представить, просто общие случаи использования, которые он может обнаружить и умножить на ноль, могут быть или не быть одним из них.Это также может варьироваться между реализациями JVM.Короче говоря, вы не должны полагаться на это в любом случае.