Java Portal | Программирование
Присоединяйтесь к нашему каналу и погрузитесь в мир для Java-разработчика Связь: @devmangx РКН: https://clck.ru/3H4WUg
Больше📈 Аналитический обзор Telegram-канала Java Portal | Программирование
Канал Java Portal | Программирование (@java_iibrary) языкового сегмента Русский является активным участником. Сейчас сообщество объединяет 11 775 подписчиков, занимая 10 273 место в категории Технологии и приложения и 54 502 место в регионе Россия.
📊 Показатели аудитории и динамика
С момента создания невідомо проект демонстрирует стремительный рост, собрав аудиторию из 11 775 подписчиков.
Согласно последним данным от 26 августа, 2026, канал показывает стабильную активность. За последние 30 дней изменение числа участников составило -154, а за последние 24 часа — -2, при этом общий охват остаётся высоким.
- Статус верификации: Не верифицирован
- Уровень вовлечённости (ER): Средний показатель вовлечённости аудитории составляет 10.27%. В первые 24 часа после публикации контент обычно набирает 5.76% реакций от общего числа подписчиков.
- Охват публикаций: В среднем каждый пост получает 1 209 просмотров. В течение первых суток публикация набирает 678 просмотров.
- Реакции и взаимодействия: Аудитория активно поддерживает контент: среднее количество реакций на один пост — 4.
- Тематические интересы: Контент сосредоточен на ключевых темах, таких как boot, string, void, архитектура, resttemplate.
📝 Описание и контентная политика
Автор описывает ресурс как площадку для выражения субъективного мнения:
“Присоединяйтесь к нашему каналу и погрузитесь в мир для Java-разработчика
Связь: @devmangx
РКН: https://clck.ru/3H4WUg”
Благодаря высокой частоте обновлений (последние данные получены 27 августа, 2026) канал поддерживает актуальность и высокий уровень охвата публикаций. Аналитика показывает, что аудитория активно взаимодействует с контентом, что делает его важной точкой влияния в категории Технологии и приложения.
@Override. #Java #Annotations
// ❌ Опечатка в имени метода — код компилируется,
// но вы НЕ переопределили toString()
public class User {
private final String name;
public User(String name) {
this.name = name;
}
public String toStrng() { // хотели toString()
return name;
}
}
// Баг остаётся незамеченным — println(user)
// не будет использовать ваш метод
// ✅ @Override превращает опечатку в ошибку компиляции
public class User {
private final String name;
public User(String name) {
this.name = name;
}
@Override
public String toString() {
return "User(" + name + ")";
}
}
// @Override
// public String toStrng() { ... }
//
// Ошибка компиляции:
// method does not override or implement a method from a supertype
👉 Java Portalprivate и используй геттеры/сеттеры для инкапсуляции. #Java #OOP
👉 Java Portalfilter(), map() и sorted().
Вместо того чтобы постоянно расширять стандартный API новыми операциями, Java теперь позволяет разработчикам создавать собственные.
Что дают Stream Gatherers:
• Используются через метод gather() для любого стрима
• Позволяют реализовать собственную логику через интерфейс Gatherer
• Работают как обычные промежуточные операции Stream API
• Были доступны в Preview в Java 22 и Java 23
• Стали финальными в Java 24 без изменений API
Например, теперь можно написать собственный gatherer для фильтрации строк по длине, оконной обработки данных, дедупликации или других сценариев, которые раньше требовали сложных цепочек операций или кастомных решений вне Stream API.
👉 Java PortalON CONFLICT DO SELECT.
Теперь можно попытаться вставить запись, а если она уже есть — сразу получить существующую.
Похоже, атомарный get-or-create наконец добрался до PostgreSQL.
#PostgreSQL #SQL
👉 Java Portaltry-catch только там, где это действительно необходимо. Не применяйте исключения для управления логикой выполнения программы. #Java #BestPractices
👉 Java Portalfinal-поля изменяются через рефлексию, и какие альтернативы можно использовать вместо этого.
Поскольку такие ситуации встречаются во фреймворках, библиотеках и обычных приложениях, материал будет полезен разработчикам всех этих типов проектов. 🤝
Разбираются причины использования рефлексии для изменения final-полей, связанные проблемы и варианты миграции на более безопасные решения.
https://inside.java/2026/04/27/avoiding-final-field-mutation/
👉 Java PortalLazyConnectionDataSourceProxy, а физическое соединение из пула станет запрашиваться только в тот момент, когда приложению действительно потребуется выполнить JDBC-запрос. 🔥
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.1.0-RC1-Release-Notes
👉 Java PortalSELECT *
FROM users
WHERE email = ?
Вариант B:
SELECT *
FROM users
WHERE LOWER(email) = LOWER(?)
Какой запрос отправится в прод?
Многие выбирают B, потому что он выглядит надёжнее. Пользователь может ввести John@Example.com, а в базе лежит john@example.com.
Но есть нюанс.
В большинстве СУБД вызов LOWER() над колонкой ломает использование обычного индекса. Вместо быстрого Index Seek база часто уходит в полный скан таблицы.
На 100 строках разницы не видно.
На 10 миллионах пользователей разница становится очень заметной.
Поэтому в проде обычно используют один из вариантов:
• хранить email в нормализованном виде (например, всегда lowercase);
• использовать case-insensitive collation;
• создать функциональный индекс на LOWER(email).
Самая опасная часть запроса часто выглядит как самая безобидная.
👉 Java Portal