Привет, ребята :Я был удивлен, обнаружив, что следующий код
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 хранит/сериализует символы по сравнению со строками по умолчанию, было бы очень полезно... спасибо.