Код: Выделить всё
StringBuilder sb = new StringBuilder();
String line = "a very big String";
String trim = line.trim();
String[] split = trim.split("&");
sb.append(split[0]);
sb.append("\n");
trim = null;
split = null;
- В Java 8 функции Trim() и Split() копируют массив символов. . Таким образом, в памяти должно быть 3 (строка, обрезка и разделение) копии содержимого строки. StringBuilder.append() также скопирует массив символов. Таким образом, строка, обрезка и разделение будут собраны gc. В памяти хранится только копия Split[0]. Верно?
- Поможет ли явная установка для поля String значения null (trim = null) ускорить сбор мусора и освободить память?
- Есть ли какие-либо другие операции, которые могут уменьшить использование памяти для этого кода?
Подробнее здесь: https://stackoverflow.com/questions/788 ... arbage-col