Java :Размер Char и String в байтах.

Привет, ребята :Я был удивлен, обнаружив, что следующий код

System.out.println("Character size:"+Character.SIZE/8);
System.out.println("String size:"+"a".getBytes().length);

Выводит это:

Размер символа :2

Размер строки :1

Я бы предположил, что строка из одного символа должна занимать столько же (или больше )байт, чем один символ.

В частности, мне интересно---

Если у меня есть java bean-компонент с несколькими полями, как его размер будет увеличиваться в зависимости от характера полей (Character, String, Boolean, Vector, etc... )Я предполагаю, что все Java-объекты имеют некоторый (вероятно, минимальный)размер, и что одним из самых маленьких из этих следов будет одиночный символ. Итак... Чтобы проверить это основное предположение, я начал с приведенного выше кода -, и результаты операторов печати кажутся нелогичными.

Любое понимание того, как java хранит/сериализует символы по сравнению со строками по умолчанию, было бы очень полезно... спасибо.

7
задан jayunit100 22 March 2012 в 15:21
поделиться