Java Developer – Telegram
Java Developer
15.8K subscribers
1.85K photos
135 videos
2 files
2.07K links
Авторский канал действующего разработчика — интересные заметки, новые технологии, библиотеки и фреймворки

Сотрудничество: @bape_ads
Прайс: @bape_media

РКН: https://clck.ru/3GHfTK

Реклама на бирже: https://telega.in/c/java_tg
Download Telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣375🔥4
Что выведет код сверху?
Anonymous Quiz
13%
Yes
49%
No
28%
Yes No
10%
Ошибка
3
👩‍💻 Наивный перенос строк в PDFBox: как не надо работать с текстом

В статье рассказывается о работе с библиотекой Apache PDFBox и проблемах, которые могут возникнуть при разборе длинных текстов в PDF-документах.

Автор подробно разбирает одну из причин сбоя — неэффективный алгоритм переноса строк — и предлагает способ его оптимизации.

Читать статью

tags: #статья

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍3
Please open Telegram to view this post
VIEW IN TELEGRAM
😁16🤣72🤔1
Вопрос с собеседования

За счёт чего достигается синхронизация в ConcurrentHashMap?

Ответ:
В ConcurrentHashMap, начиная с Java 8, синхронизация достигается за счёт сочетания атомарных операций и локальной синхронизации на уровне отдельных ячеек (bin) таблицы.

Когда происходит вставка, карта сначала пытается разместить элемент в нужной ячейке массива table с помощью атомарной операции CAS (Compare-And-Swap). Это безблокирующий способ записи: если ячейка пуста, значение вставляется безопасно без захвата монитора.

Если в ячейке уже есть другие элементы и простая вставка невозможна, используется synchronized, но только на уровне конкретного узла (Node). Это означает, что блокировка применяется локально, не затрагивая всю карту, и другие потоки могут параллельно работать с другими ячейками.


tags: #собеседование

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
15👍11🔥5
👩‍💻 Method Handles быстрее рефлексии (иногда)

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

Показано, когда он действительно полезен для высокопроизводительного кода и в каких случаях может неожиданно просесть по скорости.

Читать статью

tags: #статья

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43🔥1
В одно окно смотрели двое

📱 Java Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣36🔥21
Вопрос с собеседования

Как работает оператор try-with-resources?

Ответ: try-with-resources — это конструкция, которая автоматически закрывает ресурсы после завершения работы блока try. Ресурсом считается любой объект, реализующий AutoCloseable или Closeable — например, поток ввода/вывода или соединение с базой данных.

Когда ресурс указывается в круглых скобках после try, Java гарантирует его закрытие сразу после выхода из блока try: независимо от того, завершилось ли выполнение нормально или произошло исключение. Благодаря этому не требуется писать отдельный finally с ручным вызовом close().


tags: #собеседование

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍94🔥3
👩‍💻 Простой Telegram-бот на Java и Spring Boot

Этот курс создан для тех, кто хочет быстро войти в разработку Telegram-ботов на Java и освоить Spring Boot через практику.

С первых уроков вы шаг за шагом собираете бота, добавляете функции, клавиатуры, базы данных и автоматизацию.

Что вы узнаете в курсе:
▶️ Как развернуть проект на Spring Boot и подключить Telegram Bot API;

▶️ Как обрабатывать сообщения, команды, смайлы и вложения;

▶️ Как создавать главное меню, кнопки и кастомные клавиатуры;

▶️ Как логировать работу бота и развернуть приложение на Linux-сервере;

▶️ Как подключать базу данных и сохранять информацию о пользователях;

▶️ Как отправлять рассылки, плановые сообщения и автоматизировать действия;

▶️ Как редактировать, обновлять и рефакторить логику бота;

▶️ Как расширять функционал и добавлять новые сценарии общения.


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

📱 Смотреть на YouTube

tags: #полезное

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥83
Фундаментальный закон

📱 Java Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
25😁17🔥4
Вопрос с собеседования

Что делает метод clone()?

Ответ: clone() создаёт копию объекта. Реализация по умолчанию делает поверхностное копирование: примитивы копируются, а ссылки на вложенные объекты остаются теми же. Чтобы clone() работал, класс обязан реализовывать Cloneable, иначе будет ошибка CloneNotSupportedException.

Метод обычно переопределяют, чтобы настроить логику копирования или сделать копию глубже. При этом стандартно вызывают super.clone() и дальше вручную дублируют необходимые поля.

Использование clone() считается не самым удобным способом копирования объектов, поэтому в реальных проектах чаще применяют конструкторы копирования или фабричные методы.


tags: #собеседование

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍3🔥2
👩‍💻 Многопоточность: шпаргалка для собесов в Java

В статье собрана компактная шпаргалка по ключевым темам многопоточности — от жизненного цикла потоков и работы synchronized до volatile, JMM, блокировок и пулов потоков.

Автор объясняет всё на практических примерах и делает акцент на том, что реально спрашивают на собесах, чтобы можно было быстро освежить тему перед интервью.

Читать статью

tags: #статья

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
11👍2🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Та самая фраза, после которой отпадают любые вопросы 😂

📱 Java Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣34🔥2😁1
Вопрос с собеседования

Как и когда происходит увеличение количества корзин в HashMap?

Ответ: У HashMap есть два ключевых параметра: capacity (вместимость — количество корзин) и loadFactor (коэффициент загрузки). Когда количество элементов превышает capacity * loadFactor, происходит расширение: число корзин удваивается, и все записи перераспределяются по новой таблице на основе их хеш-кодов. Это называется рехешированием, и оно необходимо для поддержания эффективности операций.

По умолчанию loadFactor = 0.75, что даёт баланс между использованием памяти и производительностью.


tags: #собеседование

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥2
👩‍💻 Большой гайд: пишем микросервисы на Java и Spring Boot

В статье представлен подробный гайд по созданию микросервисов на Java с использованием Spring Boot, их контейнеризации в Docker и развертыванию в AWS через EKS.

Автор пошагово показывает, как настроить доменные имена, HTTPS, логирование и мониторинг через Prometheus и Grafana.

Читать статью

tags: #статья

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍3🔥3
Тяжело нынче джунам

📱 Java Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
💯295
Вопрос с собеседования

Как работает область видимости переменных в Java?

Ответ: Область видимости переменной определяет, где она доступна в коде. В Java переменные видны только внутри блока, где они объявлены — это может быть метод, цикл, условие или класс.

Например, переменная, объявленная внутри if или for, не доступна снаружи этого блока. Переменные экземпляра (поля) доступны во всех методах объекта, а локальные переменные — только в том методе или блоке, где они созданы.

Также важно: нельзя использовать переменную до её объявления — Java строго следит за этим на этапе компиляции.


tags: #собеседование

📱 Java Developer  | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍6
👩‍💻 Основные паттерны микросервисной архитектуры

В статье рассматриваются популярные паттерны микросервисной архитектуры — Strangler Fig, API Gateway, Service Mesh, Sidecar, CQRS и другие.

Объясняется, как и зачем их применять, с разбором плюсов, подводных камней и примерами реализации на практике.

Читать статью

tags:
#статья

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Наглядно о том, как ИИ исправляет баги

📱 Java Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
😁23🤣16🔥5💯1
Вопрос с собеседования

Что такое Hibernate и как он используется в Java?

Ответ: Hibernate — это ORM (Object-Relational Mapping) фреймворк для Java, который упрощает работу с базами данных, предоставляя механизм для сопоставления объектов Java с таблицами базы данных. Он автоматически генерирует SQL-запросы и управляет связями между объектами.

tags: #собеседование

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
12🔥4👍1