👋 Базовые приёмы экономии памяти в Java
1⃣ Ленивая инициализация "тяжёлых" полей
🟠 Используйте lazy initialization, чтобы откладывать создание объекта до момента, когда он действительно понадобится.
2⃣ Избегайте анонимных внутренних классов в циклах
🟠 Каждое такое использование создаёт объект внутреннего класса — это скрытая нагрузка на память.
3⃣ Используйте статические фабричные методы
🟠 Они позволяют экономить память за счёт повторного использования уже созданных экземпляров, вместо создания новых при каждом вызове.
4⃣ Применяйте метод intern()
🟠 Метод
intern() класса String возвращает каноническое представление строки.Используя
intern(), можно гарантировать, что одна и та же строка будет представлена в памяти в виде единственного объекта, даже если она создаётся многократно.String s1 = "hello";
String s2 = "hello".intern();
5⃣ Используйте паттерн Flyweight для повторяющихся неизменяемых данных
🟠 Экономит память за счёт разделения общих экземпляров (используется, например, в
Integer.valueOf(), Boolean.TRUE и т.п.).👉Новости 👉База вопросов



