каково использование МЕТОДА 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
}
}



Если вы знаете, что ваш StringBuffer будет содержать символы 10000, имеет смысл установить начальную емкость на 10000:
StringBuffer sb=new StringBuffer(10000);
Таким образом, резервный массив char, содержащий данные, не придется перераспределять несколько раз, что может улучшить производительность.
Если заранее известно возможное количество символов. Вы можете установить емкость, чтобы компилятор выделил столько памяти. Это помогает повысить производительность, поскольку компилятору не нужно перераспределять память при каждом изменении StringBuffer.
Теоретически метод java.lang.StringBuffer.capacity () часто используется для возврата текущей емкости. Который в основном хотел указать емкость хранилища для вновь вставленных символов.
Вы можете это проверить. https://www.tutorialspoint.com/java/lang/stringbuffer_capacity.htm
Емкость - это объем памяти, доступный для вновь вставленных символов, сверх которого будет происходить выделение (из документов).
Обычно минимальная длина составляет +16, когда количество символов превышает выделенное количество, этот строковый буфер также увеличивает его размер.
При необходимости емкость будет автоматически увеличена. Емкость регулируется только вручную из соображений производительности.