TGViewer
Java Portal | Программирование Java Portal | Программирование @java_iibrary · 11.6K subscribers
Post #1526 2.02K
Базовые приёмы экономии памяти в Java

1. Ленивая инициализация "тяжёлых" полей

– Используйте lazy initialization, чтобы откладывать создание объекта до момента, когда он действительно понадобится.

2. Избегайте анонимных внутренних классов в циклах

– Каждое такое использование создаёт объект внутреннего класса — это скрытая нагрузка на память.

3. Используйте статические фабричные методы

– Они позволяют экономить память за счёт повторного использования уже созданных экземпляров, вместо создания новых при каждом вызове.

4. Применяйте метод intern()

– Метод intern() класса String возвращает каноническое представление строки.
Используя intern(), можно гарантировать, что одна и та же строка будет представлена в памяти в виде единственного объекта, даже если она создаётся многократно.

String s1 = "hello";
String s2 = "hello".intern();


5. Используйте паттерн Flyweight для повторяющихся неизменяемых данных

– Экономит память за счёт разделения общих экземпляров (используется, например, в Integer.valueOf(), Boolean.TRUE и т.п.).

👉 Java Portal
  • 👍 8
  • ❤ 6
More from @java_iibrary
  1. Oct 2, 2026Процесс ≠ Поток ≠ Виртуальный поток. Эти понятия часто путают, хотя они решают разные зада…
  2. Oct 1, 2026Когда Java-стектрейс оказался длиннее контекста ИИ 👀 👉 Java Portal
  3. Oct 1, 2026Spring Boot 4: приближение срока истечения SSL-сертификатов больше не меняет статус health…
  4. Sep 30, 2026Почему один и тот же Java-файл .class запускается на Windows, Linux и macOS без перекомпил…
  5. Sep 30, 2026Docker прост, пока всё работает. Но что делать, если контейнер постоянно перезапускается,…
  6. Sep 29, 2026Эволюция языков программирования 1940-е → Машинный код ⬇️ 1950-е → Ассемблер ⬇️ 1960-е → F…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →