Java sting capacity метод

каково использование МЕТОДА JAVA StringBuffer.capacity() в реальном времени? ...
может ли кто-нибудь сообщить мне вариант использования, в котором он фактически использовался для ...?

class StringBufferExample6 {
    public static void main(String args[]) {
        StringBuffer sb = new StringBuffer();
        System.out.println(sb.capacity());// default 16
        sb.append("Hello");
        System.out.println(sb.capacity());// now 16
        sb.append("java is my favourite language");
        System.out.println(sb.capacity());// now (16*2)+2=34 i.e (oldcapacity*2)+2
    }
}

При необходимости емкость будет автоматически увеличена. Емкость регулируется только вручную из соображений производительности.

MC Emperor 14.09.2018 09:42
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
1
71
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Ответ принят как подходящий

Если вы знаете, что ваш StringBuffer будет содержать символы 10000, имеет смысл установить начальную емкость на 10000:

StringBuffer sb=new StringBuffer(10000);

Таким образом, резервный массив char, содержащий данные, не придется перераспределять несколько раз, что может улучшить производительность.

Если заранее известно возможное количество символов. Вы можете установить емкость, чтобы компилятор выделил столько памяти. Это помогает повысить производительность, поскольку компилятору не нужно перераспределять память при каждом изменении StringBuffer.

Теоретически метод java.lang.StringBuffer.capacity () часто используется для возврата текущей емкости. Который в основном хотел указать емкость хранилища для вновь вставленных символов.

Вы можете это проверить. https://www.tutorialspoint.com/java/lang/stringbuffer_capacity.htm

Емкость - это объем памяти, доступный для вновь вставленных символов, сверх которого будет происходить выделение (из документов).

Обычно минимальная длина составляет +16, когда количество символов превышает выделенное количество, этот строковый буфер также увеличивает его размер.

Другие вопросы по теме