Ответ 1
Причина, вероятно, историческая. Версия Java 1.0 была сделана в спешке, чтобы попытаться встретиться (что было воспринято) закрывающим окном возможностей. В дизайне API было сделано много ошибок. Но ко времени Java 1.1 разработчики поняли, что ошибки исправления в API могут нарушить существующие программы и оттолкнуть разработчиков и пользователей. Поэтому они решили оставить ошибки (особенно незначительные несоответствия) незафиксированными.
Это лишь одно из этих незначительных несоответствий. На практике это не имеет никакого значения, поскольку компилятор JIT будет в любом случае встраивать вызовы.