Looking for java Keywords? Try Ask4Keywords

Java Language Уменьшение количества строк


пример

В Java слишком «легко» создать множество экземпляров String, которые не нужны. Это и другие причины могут привести к тому, что ваша программа будет иметь множество строк, которые GC занят очисткой.

Некоторые способы создания экземпляров String:

myString += "foo";

Или, что еще хуже, в цикле или рекурсии:

for (int i = 0; i < N; i++) {
    myString += "foo" + i;
}

Проблема в том, что каждый + создает новую строку (обычно, поскольку новые компиляторы оптимизируют некоторые случаи). Возможную оптимизацию можно выполнить с помощью StringBuilder или StringBuffer :

StringBuffer sb = new StringBuffer(myString);
for (int i = 0; i < N; i++) {
    sb.append("foo").append(i);
}
myString = sb.toString();

Если вы часто строите длинные строки (например, SQL), используйте API-интерфейс String.

Другие вещи, которые необходимо учитывать:

  • Уменьшите использование replace , substring и т. Д.
  • Избегайте String.toArray() , особенно в часто String.toArray() коде.
  • Журнальные отпечатки, которые предназначены для фильтрации (из-за уровня журнала, например), не должны генерироваться (уровень журнала должен быть проверен заранее).
  • Используйте библиотеки , как это в случае необходимости.
  • StringBuilder лучше, если переменная используется не общим способом (по потокам).