В JVM есть различие между значениями, хранящимися в переменных, и промежуточными результатами выражений: например, в (a + b) + c
, a, b и c - локальные переменные, но промежуточный результат a + b
сохраняется в стеке.
Максимальный размер стека не имеет ничего общего с количеством битов в машинном слове.