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

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

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

Реклама на бирже: https://telega.in/c/java_tg
Download Telegram
Ну тут понять можно

📱 Java Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
😁32🤣28
👩‍💻 Как работает ArrayList?

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

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

Под капотом всё просто: если внутренний массив переполнен, создаётся новый, большего размера (по умолчанию: (старый размер * 1.5) + 1), и все элементы копируются туда.

ArrayList удобен, когда:
▶️ Нужно часто добавлять элементы в конец;
▶️ Нужен быстрый доступ по индексу (get(i) работает за O(1));
▶️ Не нужно часто вставлять/удалять элементы в середину (это дорого: O(n)).


Полезные методы:
add() — добавить в конец;
add(index, obj) — вставить в нужную позицию;
set(index, obj) — заменить элемент;
clear() — очистить список;
remove(index) — удалить по индексу
indexOf(obj) — найти индекс по ссылке;
toArray() — преобразовать в массив;
size() — узнать количество элементов.


ArrayList — отличная коллекция для большинства задач, но если нужно часто вставлять и удалять в середине, лучше глянуть на LinkedList.

— если было полезно
😎 — если уже знал

tags: #обучение

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
30😎21👍5
Это мы умеем

📱 Java Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
😁4310🤣4
👩‍💻 Возвращение LTS: новые фичи Java 25

В статье собраны все ключевые изменения Java 25 — от Scoped Values и гибких конструкторов до квантово-устойчивой криптографии и Markdown в Javadoc.

Новый LTS-релиз показан через реальные примеры кода, чтобы сразу понять, что именно меняется и как это повлияет на работу с проектами.

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

tags: #статья

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍94🔥3
Непосильная задача

📱 Java Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
😁28🤣122🤔1💯1
👩‍💻 Основы работы со Stream API

В видео разбирается, как упростить работу с коллекциями с помощью Stream API: фильтрация, сортировка, группировка и проверка условий.

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

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

tags: #полезное

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82🔥1
Реакция новичков на юнит-тесты

📱 Java Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
😁485💯3
👩‍💻 Проектирование БД рекомендательной системы

В статье рассматривается проектирование системы по подходу DB-first и то, какие проблемы он помогает не просто решить, а устранить как явление.

База данных выступает как полноценный сервис с контрактом в виде схемы, а dbfirst позволяет сгенерировать SDK под эту схему для Java и Haskell.

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

tags: #статья

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥1
Ну почти

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

Как управлять кешированием в HTTP?

Ответ: Кеширование в HTTP управляется с помощью специальных заголовков, которые определяют, когда и как можно повторно использовать загруженные данные.

▶️ Cache-Control — основной заголовок, задающий правила кеширования: время жизни (max-age), доступность (public, private), запрет кеширования (no-store) и др.

▶️ Last-Modified + If-Modified-Since — позволяют серверу сообщить дату последнего изменения ресурса, а клиенту — запрашивать данные только при обновлении

▶️ ETag + If-None-Match — используют уникальный идентификатор версии ресурса. Если версия не изменилась, сервер отвечает 304 Not Modified

Эти механизмы снижают нагрузку на сеть и ускоряют повторные загрузки.


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

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
112👍5🔥3
👩‍💻 Запросы к MongoDB из Java с помощью билдера фильтров

В статье показано, как с помощью класса Filters удобно строить фильтры для запросов к MongoDB — например, искать документы по условию, диапазону или списку значений.

Примеры охватывают методы eq, gt, in, or, regex и другие, с пояснениями и готовыми сниппетами кода.

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

tags: #статья

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32
Делал как мог

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

Где хранятся объекты?

Ответ: Все объекты, создаваемые через new, размещаются в куче (heap) — области памяти, управляемой сборщиком мусора. Ссылки на эти объекты могут храниться в стеке, если они являются локальными переменными внутри метода. Таким образом, объект — в куче, ссылка на него — в стеке.

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

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍267🔥3👨‍💻1
👩‍💻 О подводных камнях виртуальных потоков в Java

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

Автор показывает реальные кейсы с Apache Http Client и Spring JPA, где виртуальные потоки упираются в ограничения библиотек и пулов соединений, и объясняет, как избежать типичных ловушек.

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

tags: #статья

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍2🔥2
Главное честно

📱 Java Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
22🤣19😁6
👩‍💻 Реализация паттернов проектирования на Java

Паттерны проектирования — это готовые решения распространенных задач, с которыми разработчики сталкиваются при создании сложных систем.

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

Что внутри:
▶️ Реализация классических паттернов с чистым и понятным кодом

▶️ Детальные объяснения принципов работы

▶️ Блок-схемы, иллюстрирующие работу каждого паттерна


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

Ссылка на GitHub

tags: #полезное

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍64
Блог владельца «Java Developer»

Жизнь в Telegram и за его пределами, бизнес на каналах и никакого программирования:

https://news.1rj.ru/str/+erFDhr6H1bgxZGZi
🤣2
А мы каждый раз ведёмся

📱 Java Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣52🏆6😁5
👩‍💻 Погружение в JNI: проблемы и решения

В статье разбирается, как устроено взаимодействие Java и C++ через JNI, с какими подводными камнями сталкиваются Android-разработчики и какие приёмы помогают их обходить.

На реальном кейсе Яндекс Браузера показано, как писать и отлаживать JNI-код так, чтобы он оставался рабочим и безопасным.

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

tags: #статья

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42🔥2🤯1
Тут не поспоришь

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

Как устроена архитектура брокеров в Kafka?

Ответ: В Kafka каждая партиция топика имеет лидера — брокера, который обрабатывает все запросы на запись и (по умолчанию) чтение. Остальные брокеры, содержащие копии этой партиции, называются фолловерами. Все реплики партиции (включая лидера) формируют группу ISR (in-sync replicas).

Данные всегда пишутся в лидера, который затем асинхронно реплицирует их фолловерам. Если лидер выходит из строя, Kafka автоматически выбирает нового из числа ISR. Это обеспечивает отказоустойчивость, хотя при смене лидера возможна кратковременная задержка в обслуживании.


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

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥123👍3