Java Portal | Программирование
Присоединяйтесь к нашему каналу и погрузитесь в мир для Java-разработчика Связь: @devmangx РКН: https://clck.ru/3H4WUg
Больше📈 Аналитический обзор Telegram-канала Java Portal | Программирование
Канал Java Portal | Программирование (@java_iibrary) языкового сегмента Русский является активным участником. Сейчас сообщество объединяет 11 768 подписчиков, занимая 10 256 место в категории Технологии и приложения и 54 543 место в регионе Россия.
📊 Показатели аудитории и динамика
С момента создания невідомо проект демонстрирует стремительный рост, собрав аудиторию из 11 768 подписчиков.
Согласно последним данным от 29 августа, 2026, канал показывает стабильную активность. За последние 30 дней изменение числа участников составило -144, а за последние 24 часа — -1, при этом общий охват остаётся высоким.
- Статус верификации: Не верифицирован
- Уровень вовлечённости (ER): Средний показатель вовлечённости аудитории составляет 10.09%. В первые 24 часа после публикации контент обычно набирает 5.78% реакций от общего числа подписчиков.
- Охват публикаций: В среднем каждый пост получает 1 188 просмотров. В течение первых суток публикация набирает 681 просмотров.
- Реакции и взаимодействия: Аудитория активно поддерживает контент: среднее количество реакций на один пост — 4.
- Тематические интересы: Контент сосредоточен на ключевых темах, таких как boot, string, void, архитектура, resttemplate.
📝 Описание и контентная политика
Автор описывает ресурс как площадку для выражения субъективного мнения:
“Присоединяйтесь к нашему каналу и погрузитесь в мир для Java-разработчика
Связь: @devmangx
РКН: https://clck.ru/3H4WUg”
Благодаря высокой частоте обновлений (последние данные получены 30 августа, 2026) канал поддерживает актуальность и высокий уровень охвата публикаций. Аналитика показывает, что аудитория активно взаимодействует с контентом, что делает его важной точкой влияния в категории Технологии и приложения.
tableswitch
> lookupswitch
Прежде чем разбирать, как работает каждая из них, давайте посмотрим, как компилятор решает, какую выбрать.
Следующий код сгенерирует tableswitch:
public String tableSwitch() {
return switch (value) {
case 1 -> "one";
case 2 -> "two";
case 4 -> "four";
default -> "other";
};
}
А вот этот код сгенерирует lookupswitch:
public String lookupSwitch() {
return switch (value) {
case 1 -> "one";
case 10 -> "ten";
case 100 -> "one hundred";
default -> "other";
};
}
Видишь разницу?
👍 — да. вижу
🔥 — нужно разбирать
👉 Java PortalFileSystems.newFileSystem(Path) появился ещё в JDK 13 (2019), но многие до сих пор о нём не знают
Он позволяет обращаться к содержимому файла, например ZIP-архива, как к файловой системе.
Пример Java-программы:
void main() {
Path src = Path.of("/opt/jdk-24/lib/src.zip");
try (FileSystem fs = FileSystems.newFileSystem(src)) {
for (Path root : fs.getRootDirectories()) {
try (Stream<Path> walk = Files.walk(root, 1)) {
walk.sorted().forEach(IO::println);
}
}
}
}
Результат выполнения:
/ /java.base /java.compiler /java.datatransfer /java.desktop /java.instrument /java.logging ... /jdk.unsupported /jdk.unsupported.desktop /jdk.xml.dom /jdk.zipfsДо появления этого метода нужно было использовать более сложный код с URI и явно указывать схему:
URI src = URI.create("jar:file:///opt/jdk-24/lib/src.zip");
try (FileSystem fs = FileSystems.newFileSystem(src, Map.of())) {
...
}
👉 Java PortalLinkedList (двусвязный список) в Java?
> Состоит из узлов, где каждый узел содержит данные и ссылки на следующий и предыдущий узлы
> Быстрые вставки и удаления — O(1), если есть ссылка на нужный узел
> Медленный доступ по индексу — O(n), т.к. нужно проходить список последовательно
🔧 Когда использовать:
> Частые вставки и удаления — особенно в начале или в середине списка
> Реализация очередей и деков — удобно добавлять в конец и забирать из начала
> Работа с большими объёмами данных, где перераспределение памяти (как в ArrayList) может быть дорогим. LinkedList не требует непрерывной памяти
> Undo/Redo-механизмы — например, в текстовых редакторах, где нужно быстро добавлять и удалять действия из истории
👉 Java Portal@RestController
> @RequestBody
> @PathVariable
> @ResponseStatus
Spring REST помогает писать код просто и понятно 🧑💻
👉 Java Portal📱 GitHub — t.me/github_ready 👩💻 Python — t.me/python_ready 👩💻 Java — t.me/java_ready 👩💻 Всё IT — t.me/it_ready 👩💻 C/C++ — https://t.me/cpp_ready 🖼️ DevOps — t.me/devops_ready 🤔 Хакинг & ИБ — t.me/hacking_ready 👩💻 C# & Unity — t.me/csharp_ready 👩💻 Linux — t.me/linux_ready 👩💻 Bash & Shell — t.me/bash_ready 👩💻 Нейросети — t.me/neuro_ready 📱 JavaScript — t.me/javascript_ready 👩💻 Frontend — t.me/frontend_ready 📖 IT Книги — t.me/books_ready 🖥 Базы Данных & SQL — t.me/sql_ready 👩💻 Backend — t.me/backend_ready 🖥 Design — t.me/design_ready📌 Гайды, шпаргалки, задачи, ресурсы и фишки для каждого языка программирования!
String question;
to: be: or: not: that: is: the: question = "What?";
out.println(question);
> Код компилируется
> Метки (to:, be:, or: и т.д.) игнорируются, если не используются в break или continue
Вывод:
What?
Иногда Java действительно говорит с нами стихами 🫢
👉 Java Portal== → Сравнивает адреса в памяти
2. .equals() → Сравнивает содержимое строк
3. .compareTo() → Лексикографическое сравнение
4. .equalsIgnoreCase() → Сравнивает без учёта регистра
> Подробнее тут 😊
👉 Java Portaljava.text.ListFormat. Используйте его, когда нужно отформатировать список строк в удобочитаемый вид. Например, вот такая программа:
final List<String> days = List.of("Mon", "Wed", "Fri");
void main() {
print(Type.STANDARD);
print(Type.OR);
print(Type.UNIT);
}
private void print(Type type) {
print(type, Style.FULL);
print(type, Style.SHORT);
print(type, Style.NARROW);
}
private void print(Type type, Style style) {
var format = ListFormat.getInstance(Locale.US, type, style);
var result = format.format(days);
System.out.printf("%-8s + %-7s: %s%n", type, style, result);
}
Вывод:
STANDARD + FULL : Mon, Wed, and Fri
STANDARD + SHORT : Mon, Wed, & Fri
STANDARD + NARROW : Mon, Wed, Fri
OR + FULL : Mon, Wed, or Fri
OR + SHORT : Mon, Wed, or Fri
OR + NARROW : Mon, Wed, or Fri
UNIT + FULL : Mon, Wed, Fri
UNIT + SHORT : Mon, Wed, Fri
UNIT + NARROW : Mon Wed Fri
Также можно использовать ListFormat для разбора отформатированной строки обратно в список
Ставь лайк если полезно 🪑
👉 Java Portal1. Каковы ключевые характеристики микросервисов? Ответ: > Децентрализованное управление данными > Сервисы развёртываются независимо друг от друга > Проектирование на основе предметной области (DDD) > Лёгкое взаимодействие (например, REST, gRPC) > Изоляция сбоев > Удобны для непрерывной доставки 2. Чем микросервисы отличаются от монолитной архитектуры? Ответ: > Монолит: единая кодовая база, жёстко связанные компоненты, сложно масштабировать. > Микросервисы: множество сервисов, слабо связанные, развёртываются и масштабируются независимо. 3. Каковы основные преимущества использования микросервисов? Ответ: > Лучшая масштабируемость > Более быстрое выведение продукта на рынок > Независимые развёртывания > Лучшая устойчивость к сбоям > Возможность использовать разные языки и технологии 4. Какие есть сложности при работе с микросервисами? Ответ: > Сложность управления распределёнными системами > Задержки в сети и накладные расходы на коммуникацию > Согласованность данных > Отладка и мониторинг > Развёртывание и оркестрация 5. Как микросервисы обмениваются данными? Ответ: > Синхронно: через REST, gRPC > Асинхронно: через очереди сообщений (RabbitMQ, Kafka) 6. Что такое service discovery в микросервисах? Ответ: > Это механизм, с помощью которого сервисы находят друг друга в сети. > Применяются инструменты вроде Consul, Eureka, DNS Kubernetes. 7. Что такое API Gateway и зачем он нужен? Ответ: > API Gateway — это единая точка входа в систему. Он отвечает за маршрутизацию, безопасность, ограничение частоты запросов и агрегацию ответов от разных сервисов. > Примеры: Kong, Zuul, NGINX, Spring Cloud Gateway. 8. Как в микросервисах управляют данными? Ответ: > Каждый сервис использует свою отдельную базу данных (подход “одна база на сервис”). > Для согласованности применяются событийная архитектура или паттерн саги. 9. Что такое паттерн Saga? Ответ: > Saga — это последовательность локальных транзакций. > Если одна из них завершается с ошибкой, запускаются компенсирующие действия для отката изменений. 10. Какие инструменты используют для разработки микросервисов? Ответ: > Языки: Java (Spring Boot), Node.js, Go, Python > Сборка: Maven, Gradle > Контейнеризация: Docker > Оркестрация: Kubernetes👉 Java Portal
void main() {
do onlyOnce: {
IO.println("Один раз?");
break onlyOnce;
} while (true);
}
Компилируется без ошибок. При выполнении выводит:
Один раз?
Один раз?
Один раз?
Один раз?
Один раз?
...
Это приводит к бесконечному циклу 🙂
👉 Java Portal