Java Ready | Программирование
6.9K subscribers
618 photos
30 videos
1 file
321 links
Авторский канал по разработке на Java.
Ресурсы, гайды, задачи, шпаргалки.
Информация ежедневно пополняется!

Автор: @energy_it

Реклама на бирже: https://telega.in/c/java_ready
Download Telegram
👩‍💻 Избегаем утечек памяти с помощью WeakReference

В Java сборщик мусора освобождает память, но иногда объекты всё равно «застревают» в памяти, что приводит к утечкам. Одним из эффективных способов предотвращения этого является использование WeakReference.

WeakReference позволяет ссылаться на объект без блокировки его сборщиком мусора. Если объект имеет только слабые ссылки, сборщик может его освободить. Пример создания слабой ссылки:
WeakReference<MyObject> weakReference = new WeakReference<>(new MyObject());

Теперь, если к MyObject не будет других сильных ссылок, сборщик сможет освободить его.

Как проверить и использовать WeakReference?

Чтобы использовать объект, на который указывает WeakReference, сначала убедитесь, что он не был собран сборщиком мусора:
MyObject obj = weakReference.get();
if (obj != null) {
// Объект еще в памяти
obj.performTask();
} else {
// Объект освобожден
}


Пример применения: кеширование данных


Использование слабых ссылок полезно для кеширования, так как сборщик может автоматически очистить кэшированные данные, если в памяти возникнет нехватка:
Map<String, WeakReference<Data>> cache = new HashMap<>();
Data data = fetchData("item1");
cache.put("item1", new WeakReference<>(data));

Если data больше нигде не используется, сборщик освободит его при необходимости.

Жми 🔥 если понравился пост

👉 Java Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18👍2🤝2
📖 Современный язык Java

Книга охватывает все аспекты работы с Java, начиная с основ и заканчивая сложными темами, такими как многопоточность, обработка исключений и работа с сетью.

Автор: Марио Фуско
Год: 2020


⬇️ Скачать книгу

📣 Java Ready | #книга
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥3👎1
👩‍💻 Параллельные потоки в Java: Как эффективно использовать многопоточность.

В этом посте рассмотрели работу с многопоточностью в Java и создание параллельных потоков для повышения производительности:

• Создание и запуск потоков
• Управление потоками с помощью ExecutorService
• Синхронизация и безопасность данных


📣 Java Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥9🤝9
This media is not supported in your browser
VIEW IN TELEGRAM
Hilla — это фреймворк для разработки веб-приложений на Java, позволяющий создавать фронтенд и бэкенд на единой платформе, с использованием интуитивного API для безопасного взаимодействия между клиентом и сервером.

📌 Ссылочка: https://vaadin.com/hilla

👉 Java Ready | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥4
🖥 Внутренние классы в Java: Скрытая мощь и подводные камни

В Java внутренние классы часто помогают организовать код, особенно когда нужно инкапсулировать вспомогательные структуры. Но у этой функциональности есть и риски, которые стоит учитывать

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


public class Outer {
private String message = "текст";
class Inner {
void display() {
System.out.println(message);
}
}
}


Создание экземпляра внутреннего класса:
Outer outer = new Outer();
Outer.Inner inner = outer.new Inner();
inner.display(); // Вывод: текст


Но тут кроется опасность: если внутренний класс долго остается в памяти, это может удерживать ссылку на внешнюю сущность, создавая риск утечек памяти. Чтобы избежать этой проблемы, лучше использовать статический внутренний класс:

public class Outer {
static class StaticInner {
void display() {
System.out.println("Привет из статического внутреннего класса!");
}
}
}
Outer.StaticInner inner = new Outer.StaticInner();
inner.display();
// Вывод: Привет из статического внутреннего класса!

Использование статического класса помогает избежать ненужных связей с экземпляром внешнего класса.

Ставь 🔥 если понравился пост

👉 Java Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍2👎1
👀 Нашел отличную статью для новичков: перспективы и тренды языка Java

В этой статье:
• Вы узнаете про преимущества и перспективы изучения Java для новичков.

🔊 Если заинтересовало, продолжай читать на Habr!


👉 Java Ready | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2
👩‍💻 Коллекции: Как не потерять данные!

Коллекции Java — это набор структур данных, упрощающих управление информацией. Выбор подходящей коллекции может значительно улучшить производительность программы и упростить жизнь разработчика!

Разбор популярных структур данных:

1. ArrayList — гибкий и быстрый список для хранения упорядоченных данных
ArrayList<String> list = new ArrayList<>();
list.add("Java"); // добавление элемента в список
list.add("Python");
list.remove("Java"); // удаление элемента

Что это дает? ArrayList — это динамический массив, который автоматически расширяется при добавлении новых элементов.

2. HashMap
— ключ-значение для быстрого поиска и доступа. Быстро ищет и сохраняет данные по уникальным ключам:
HashMap<String, Integer> map = new HashMap<>();
map.put("Java", 1995); // добавление пары "ключ-значение"
map.put("Python", 1991);
map.remove("Java"); // удаление по ключу


3. HashSet
— хранилище уникальных значений:
HashSet<String> set = new HashSet<>();
set.add("Java"); // добавление элемента
set.add("Python");
set.add("Java"); // дубликат не добавится

HashSet хранит только уникальные элементы, что полезно для фильтрации дубликатов.

Жми 🔥 если понравился пост

👉 Java Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍4
👩‍💻 Работа с неизменяемыми коллекциями

В этом посте рассмотрим базовые принципы создания неизменяемых коллекций в Java, также вы узнаете для чего они нужны.

• Неизменяемый список
• Неизменяемое множество
• Неизменяемый Map


🔥 — если узнал новое
🤝 если уже пользовался

📣 Java Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18🤝8👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Solo Learn — это обучающая платформа, которая предлагает интерактивное обучение, сразу с практическими заданиями и теорией

📌 Ссылочка: sololearn.com

📣 Java Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥5😁1
🖥 Работа с файлами в Java

— В этом посте рассморели Класс Files в Java, который упрощает работу с файлами, предоставляя классные методы для работы

- Чтение файлов
- Запись в файл
- Проверка файла на существование


🔥 — если узнал новое
🤝 если уже пользовался

📣 Java Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥22🤝11👍5