За исключением небольшого количества места для метаданных (которое будет выделено один раз всего, а не один раз за экземпляр), имя не имеет значения 1 . Таким образом, в приведенном примере каждая из этих переменных будет занимать 2 байта, возможно, дополненные до 4 байтов, в зависимости от других полей и используемой виртуальной машины.
Обратите внимание, что даже для ссылочных типов (включая массивы) пространство, занимаемое самой переменной , фиксируется ее типом (и деталями виртуальной машины) - пространство, занимаемое ссылкой на пустую строку такое же, как пространство, занимаемое ссылкой на огромную строку.
1 Может быть стоимость за использование переменной - или, возможно, за класс, использующий переменную. Вы должны обратиться к спецификации VM, чтобы проверить точное двоичное представление. Даже в этом случае это представление в файле класса, которое может не привести к увеличению использования памяти к тому времени, когда все это JIT скомпилировано и т. Д. В любом случае, это почти наверняка не имеет отношения к более сложной схеме - памяти, необходимой для фактического объекты почти всегда уменьшают объем памяти, необходимый для самого кода.