Будет ли в Java 8 явная установка нулевого значения для поля String ускорять сбор мусора и освобождать память?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Будет ли в Java 8 явная установка нулевого значения для поля String ускорять сбор мусора и освобождать память?

Сообщение Anonymous »

Код: Выделить всё

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) ускорить сбор мусора и освободить память?
  • Есть ли какие-либо другие операции, которые могут уменьшить использование памяти для этого кода?
Я столкнулся с проблемой полного gc и OOM. Я явно установил для поля String значение null и добавил System.gc();, кажется, это работает. Но я хочу знать, почему и есть ли другой лучший способ?

Подробнее здесь: https://stackoverflow.com/questions/788 ... arbage-col
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»