es
Feedback
Java Portal | Программирование

Java Portal | Программирование

Ir al canal en Telegram

Присоединяйтесь к нашему каналу и погрузитесь в мир для Java-разработчика Связь: @devmangx РКН: https://clck.ru/3H4WUg

Mostrar más

📈 Análisis del canal de Telegram Java Portal | Программирование

El canal Java Portal | Программирование (@java_iibrary) en el segmento lingüístico de Ruso es un actor destacado. Actualmente la comunidad reúne a 12 109 suscriptores, ocupando la posición 10 407 en la categoría Tecnologías y Aplicaciones y el puesto 54 513 en la región Rusia.

📊 Métricas de audiencia y dinámica

Desde su creación el невідомо, el proyecto ha mostrado un crecimiento acelerado, reuniendo a 12 109 suscriptores.

Según los últimos datos del 09 junio, 2026, el canal mantiene una actividad estable. En los últimos 30 días la variación de miembros fue de -147, y en las últimas 24 horas de -12, conservando un alto alcance.

  • Estado de verificación: No verificado
  • Tasa de interacción (ER): El promedio de interacción de la audiencia es 11.15%. Durante las primeras 24 horas tras publicar, el contenido suele obtener 6.42% de reacciones respecto al total de suscriptores.
  • Alcance de las publicaciones: Cada publicación recibe en promedio 1 351 visualizaciones. En el primer día suele acumular 778 visualizaciones.
  • Reacciones e interacción: La audiencia responde de forma activa: el promedio de reacciones por publicación es 4.
  • Intereses temáticos: El contenido se centra en temas clave como boot, string, void, архитектура, resttemplate.

📝 Descripción y política de contenido

El autor describe el recurso como un espacio para expresar opiniones subjetivas:
Присоединяйтесь к нашему каналу и погрузитесь в мир для Java-разработчика Связь: @devmangx РКН: https://clck.ru/3H4WUg

Gracias a la alta frecuencia de actualizaciones (últimos datos recibidos el 10 junio, 2026), el canal mantiene la vigencia y un amplio alcance. La analítica demuestra que la audiencia interactúa activamente con el contenido, lo que lo convierte en un punto de referencia dentro de la categoría Tecnologías y Aplicaciones.

12 109
Suscriptores
-1224 horas
-387 días
-14730 días
Archivo de publicaciones
Типы массивов в Java В Java существует два основных типа массивов: Регулярные массивы — фиксированное число строк и столбцов
Типы массивов в Java В Java существует два основных типа массивов: Регулярные массивы — фиксированное число строк и столбцов Регулярные массивы делятся на: > 1-мерные массивы > 2-мерные массивы > 3-мерные и более Во всех случаях каждая строка содержит одинаковое количество элементов. > Зубчатые массивы Это массив массивов, в котором вложенные массивы могут иметь разную длину. Можно создавать 2D или 3D массивы с переменным числом столбцов в каждой строке. Одномерный массив (1D array) — это список элементов, хранящихся в одной строке. Он используется для хранения нескольких значений одного типа в линейной форме Синтаксис:
dataType[] arrayName = new dataType[size];
или
dataType[] arrayName = {value1, value2, value3, ...};
Пример: Список студентов в одном классе.
class MasterBackend {
    public static void main(String[] args) {
        // 1D Array: Students in a single class
        String[] students = {"Ayush", "Rahul", "Neha", "Priya"};

        System.out.println("Students in a class:");
        for (String student : students) {
            System.out.println(student);
        }
    }
}
Вывод:
Students in a class:
Ayush
Rahul
Neha
Priya
👉 Java Portal

Если хотите прокачаться в системном дизайне, разберитесь с этими концептами: > API Gateway vs Load Balancer — ссылка > Reverse Proxy vs Forward Proxy — ссылка > Горизонтальное и вертикальное масштабирование — ссылка > Микросервисы и монолитная архитектура — ссылка 👉 Java Portal

Хочешь разобраться в геймдеве — разберись в чужом проекте с открытым кодом Вот отличный кандидат: Gloomy Dungeons II — класси
+1
Хочешь разобраться в геймдеве — разберись в чужом проекте с открытым кодом Вот отличный кандидат: Gloomy Dungeons II — классический 3D-шутер на Android, вдохновлённый Doom и Wolfenstein. Открытый MIT-проект на Java, с кастомным движком, освещением, текстурами и даже ракетницей. ➡️ Cсылка на GitHub 👉 Java Portal

Хотите добавить динамическое поведение в ваши Java-классы? Используйте библиотеку Java Class Extension Library для добавления
Хотите добавить динамическое поведение в ваши Java-классы? Используйте библиотеку Java Class Extension Library для добавления динамических операций к существующим классам или для предоставления реализаций интерфейсов "на лету" Кстати, теперь эта библиотека включает новый механизм circuit breaker (автоматическое прерывание цепочки вызовов) Это позволяет легко добавить функциональность circuit breaker к любой из ваших операций — без изменений в исходном коде 😨 👉 Java Portal

Указание типа после ключевого слова new — это действительно допустимая конструкция в Java. Об этом и многом другом — в видео 👉 Java Portal

Дженерики в Java (2004) изменили всё. Типобезопасность + гибкость. Сначала вызывали сомнения, теперь — основа коллекций и API
Дженерики в Java (2004) изменили всё. Типобезопасность + гибкость. Сначала вызывали сомнения, теперь — основа коллекций и API.
import java.util.*;

public class GenericsEvolutionDemo {
// До дженериков: отсутствие типобезопасности
    static void withoutGenerics() {
        System.out.println("=== Без дженериков ===");
        List list = new ArrayList(); // необобщённый тип (raw type)
        list.add("Ayush");
        list.add(42); // Ошибка не возникает на этапе компиляции

        for (Object obj : list) {
            try {
                String name = (String) obj; // Исключение ClassCastException во время выполнения
                System.out.println(name);
            } catch (ClassCastException e) {
                System.out.println("Поймана ошибка: " + e);
            }
        }
    }
// С дженериками: типобезопасно и понятно
    static void withGenerics() {
        System.out.println("\n=== С дженериками ===");
        List<String> list = new ArrayList<>();
        list.add("Ayush");
        // list.add(42); // Раскомментировать эту строку вызовет ошибку компиляции

        for (String name : list) {
            System.out.println(name.toUpperCase());
        }
    }
// Пример из реального API: Optional<T>
    static void optionalExample() {
        System.out.println("\n=== Пример Optional<T> ===");
        Optional<String> maybeName = Optional.of("Ayush");
        maybeName.ifPresent(name -> System.out.println("Hello, " + name));
    }

    public static void main(String[] args) {
        withoutGenerics();
        withGenerics();
        optionalExample();
    }
}
👉 Java Portal

👀👀👀 👉 Java Portal
👀👀👀 👉 Java Portal

Тема для освоения программирования на java 👉 Java Portal
Тема для освоения программирования на java 👉 Java Portal

Repost from Техночат
Разыгрываем лучшие гаджеты года: iPhone 16 Pro Max на 256 ГБ, 15-дюймовый MacBook Air 16/256 ГБ и PlayStation 5 Pro! Чтобы их
Разыгрываем лучшие гаджеты года: iPhone 16 Pro Max на 256 ГБ, 15-дюймовый MacBook Air 16/256 ГБ и PlayStation 5 Pro! Чтобы их получить, достаточно подписаться на: • наш канал «Техночат» • И на канал «Больше, чем экономика» Нажимаете после этого на кнопку «Участвовать» и ждёте 2 июля — в этот день в 20:00 по московскому времени рандомайзер выберет трёх победителей. Первый получит айфон, второй — макбук, а третий — PlayStation. Призы бесплатно вышлем в ближайший к вам пункт выдачи СДЭК, поэтому уточните, есть ли он в вашей стране.

Java API Tip Безопасное приведение long к int Используй Math.toIntExact() — этот метод возвращает значение long, но выбрасыва
Java API Tip Безопасное приведение long к int Используй Math.toIntExact() — этот метод возвращает значение long, но выбрасывает ArithmeticException, если оно не помещается в int Без него преобразование произойдёт молча — и ты можешь получить некорректный результат без всяких ошибок. Используй toIntExact, когда важно контролировать переполнение 👉 Java Portal

+3
Держите годноту: подборка полезных шпаргалок по SQL — Основы языка SQL — SQL Joins — Оконные функции — SQL для анализа данных Сохраняем и используем 👉 Java Portal

📚 Эффективное сжатие текста: код Хаффмана в действии Приглашаем на открытый урок. 🗓 11 июня в 20:00 МСК 🆓 Бесплатно. Урок
📚 Эффективное сжатие текста: код Хаффмана в действии  Приглашаем на открытый урок. 🗓 11 июня в 20:00 МСК 🆓 Бесплатно. Урок в рамках старта курса «Алгоритмы и структуры данных». На этом вебинаре мы продолжим разработку архиватора, реализовав код Хаффмана.  ✔️ Рассмотрим, как построить дерево кодов, где частота появления символов определяет их битовое представление.  ✔️ Интегрируем алгоритм в наш архиватор и проведем сравнительное тестирование с RLE.  ✔️ Увидим, как эффективно работает код Хаффмана на текстовых файлах и других типах данных.  Отличная возможность изучить продвинутые древовидные структуры данных на практическом примере. Развивайте алгоритмическое мышление, увеличивайте производительность программ. 🎁 Всем участникам вебинара дарим промокод, который дает скидку на обучение - Algo5  👉 Регистрация на вебинар: https://otus.pw/VyBj/ #реклама О рекламодателе

HTTP-концепции, которые должен знать каждый разработчик > HTTP-методы — Определяют действие: GET (получить), POST (создать), PUT (заменить), PATCH (обновить), DELETE (удалить). > Коды статуса — Сообщают, что произошло: 2xx (успех), 4xx (ошибка клиента), 5xx (ошибка сервера). > Заголовки — Пары ключ-значение, которые передают метаинформацию (например, Content-Type, Authorization, Cache-Control). > Тело запроса — Фактические данные, отправляемые в POST/PUT/PATCH-запросах (часто в формате JSON или form-data). > Параметры запроса — Пары ключ-значение в URL после ?, используются для фильтрации, сортировки, поиска. > Параметры пути — Динамические части URL (например, /user/:id), используются для идентификации ресурсов. > Идемпотентность — Повтор одного и того же запроса (например, PUT или DELETE) приводит к одному и тому же результату. > Безопасные методы — Методы, такие как GET и HEAD, которые не должны изменять состояние сервера. > HTTP/1.1 vs HTTP/2 vs HTTP/3 — Новые версии ускоряют работу за счёт мультиплексирования, бинарных фреймов и протокола QUIC. > Keep-Alive — Повторное использование TCP-соединений для нескольких запросов для снижения задержек. > Content-Type — Указывает серверу/клиенту, в каком формате тело запроса (например, application/json). > Accept — Указывает серверу, какие форматы ответа клиент может обрабатывать. > Authorization — Несёт учетные данные (токены, basic auth) для аутентификации запросов. > Кэширование — Использует заголовки вроде Cache-Control, ETag, Last-Modified для снижения нагрузки и задержек. > ETag — Уникальный хеш для версии ресурса; помогает в условных запросах и кэшировании. > Редиректы (3xx) — Инструктируют клиент попробовать другой URL (например, 301, 302, 307). > CORS — Управляет тем, какие источники могут обращаться к вашему API из браузера. > Preflight-запросы — Запросы типа OPTIONS, которые браузер отправляет перед некоторыми CORS-запросами для проверки разрешений. > Туннелирование HTTP-методов — Некоторые прокси пропускают только GET/POST, поэтому PUT/DELETE инкапсулируются через POST + _method. > User-Agent — Заголовок, который браузеры отправляют для идентификации (часто подделывается или изменяется). > Referer — Заголовок, указывающий URL предыдущей страницы (используется в аналитике и безопасности). > Host Header — Указывает домен, на который направлен запрос (важен при виртуальном хостинге). > Connection Header — Управляет поведением соединения (например, close, keep-alive). > HEAD-метод — Как GET, но возвращает только заголовки (без тела); полезен для проверки ресурсов. 👉 Java Portal

Java Generics — всё, что нужно знать 1. Box<T> → Обобщённый класс • Используй, когда класс работает с любым типом (например, обёртка вокруг любого объекта, как Box<User>, Box<Integer>). 2. <T> void print(T val) → Обобщённый метод • Используй, когда метод должен принимать любой тип (например, для печати любого объекта, логирования, сравнения и т.п.). 3. <T extends Number> → Ограниченный тип • Называется верхней границей. • Используй, когда тип должен быть подклассом чего-то (например, утилита для работы с int, double, float). 4. <T extends A & B> → Несколько ограничений • Заставляет T реализовывать и A, и B. • Используй, когда нужны обе особенности (например, сортировка объекта, который также требует валидации). 5. <?> → Неограниченный подстановочный тип • Это означает неизвестный тип. • Используй, когда не важен тип, нужно только читать (например, печать элементов из любого списка). 6. <? extends T> → Верхняя граница подстановочного типа • Означает некоторый подкласс T. • Используй при чтении из коллекции (например, чтение чисел из List<? extends Number> без модификации). 7. <? super T> → Нижняя граница подстановочного типа • Означает некоторый суперкласс T. • Используй при записи в коллекцию (например, добавление Integer в List<? super Integer>). 8. Правило PECS • Producer Extends, Consumer Super. • Используй extends для чтения, super для записи (например, API-вход против обработки ответа). 9. List list = new ArrayList(); → Сырой тип • Это сырой тип. • Избегай — тк теряется типовая безопасность (например, компилятор не поймает, если добавишь неверные типы). 10. Стирание типов • Java удаляет всю информацию об обобщениях во время выполнения. • Поэтому нельзя использовать T.class, new T(), или instanceof T (например, нельзя делать проверки или создавать объекты на основе T). 11. Обобщённый конструктор
<T> MyClass(T val) { }
• Используй, когда конструктору нужен обобщённый параметр, даже если сам класс не обобщённый (например, инициализация с динамическими типами). 12. Обобщённый интерфейс
interface Mapper<F, T> { T map(F input); }
• Используй при преобразовании одного типа в другой (например, DTO → сущность). 13. Нельзя использовать примитивы • Нельзя List<int> — только List<Integer>. • Используй обёртки (коллекции могут хранить только объекты, не примитивы). 14. Нельзя создавать массивы с обобщением • new T[] не работает. • Используй List<T> вместо (например, динамические коллекции). 15. Нельзя использовать подстановочные типы для вставки • Нельзя вставлять в List<? extends Number>. • Используй <? super Number>, если нужна вставка (например, для пакетной обработки или модификации коллекции). 👉 Java Portal

Это просто огонь. В одном из следующих релизов jetbrains / intellijidea появится фича, которая позволяет в пару кликов сгенерировать JPA-энтити из существующей схемы БД И ещё, мне сказали, что SpringData JDBC тоже скоро завезут 💪 👉 Java Portal

👨‍💻 Эти каналы реально помогают в изучении программирования и IT Не веришь? Проверь сам: 👩‍💻 Easy GitHub — лучшие репозитории с гитхаба для практики и освоения IT. 🌐 Easy WebDev — всё про Frontend, Backend и сопутствующие технологии. 🖥 Easy Python — лёгкое изучение самого универсального языка в мире. 🔠 Easy InfoSec — ИБ, хакинг, OSINT, анонимность, пентест и многое другое. 🖥 Easy Coder — а здесь вообще про всё, что нужно знать для работы в IT.
🖱 Просто выбери нужное и получай топовые материалы каждый день!

Ставить @Transactional везде подряд плохая практика — сначала разберись, когда он действительно нужен: 🔸Использовать @Transa
Ставить @Transactional везде подряд плохая практика — сначала разберись, когда он действительно нужен: 🔸Использовать @Transactional только в сервисном слое — Отделяет бизнес-логику от веб-логики 🔸Использовать транзакции на уровне методов — Даёт точный контроль и ясность 🔸Использовать @Transactional(readOnly = true) — Оптимизирует операции только для чтения 🔸Избегать @Transactional в репозиториях — Репозитории не должны управлять транзакциями 🔸Оставлять транзакционные методы public — Необходимо для работы Spring-прокси 🔸Логировать или отслеживать поведение транзакций — Помогает выявлять неожиданные проблемы 👉 Java Portal

Нашёл годную визуализацию для тех, кто хочет на пальцах понять, как устроены LLM. Тут можно не просто почитать про слои моделей, а буквально пощупать их, покрутить со всех сторон в 3D Есть GPT-2, nanoGPT, GPT-2 XL и GPT-3 Лучше запускать с компа, на мобиле не так красиво 👉 Java Portal

Релиз через два дня. Код готов. Почти... Остались тесты. Ну, точнее — покрытие. Потому что QA уже дышит в затылок, а ты сидиш
Релиз через два дня. Код готов. Почти... Остались тесты. Ну, точнее — покрытие. Потому что QA уже дышит в затылок, а ты сидишь и выбираешь: спать или корпеть до утра. Explyt Test умеет создавать тесты под твой код — сам. Быстро. В IDE. Без плясок. Хочешь, чтобы релиз прошёл, а не пролетел? Попробуй бесплатно! 👉 explyt.ai

10 однострочников на Java, с которыми ты выглядишь более опытным 🔸Поменять две переменные местами > a = a + b - (b = a); 🔸С
10 однострочников на Java, с которыми ты выглядишь более опытным 🔸Поменять две переменные местами > a = a + b - (b = a); 🔸Создать список > List.of("Apple", "Banana", "Cherry"); 🔸Найти максимум из двух чисел > Math.max(a, b); 🔸Прочитать все строки из файла > Files.readAllLines(Path.of("file.txt")); 🔸Объединить список в строку > String.join(", ", fruits); 🔸Удалить null-значения > list.removeIf(Objects::isNull); 🔸Получить случайный элемент > list.get(new Random().nextInt(list.size())); 🔸Посчитать совпадения > list.stream().filter(x -> x > 10).count(); 🔸Отсортировать по убыванию > list.sort(Comparator.reverseOrder()); 🔸Проверить палиндром str.equals(new StringBuilder(str).reverse().toString()); 👉 Java Portal