Библиотека джависта | Java, Spring, Maven, Hibernate
24.9K subscribers
1.86K photos
38 videos
42 files
2.64K links
Все самое полезное для Java-разработчика в одном канале.

Список наших каналов: https://yangx.top/proglibrary/9197

Обратная связь: @proglibrary_feedback_bot

По рекламе: @proglib_adv

РКН: https://gosuslugi.ru/snet/67a5bbda1b17b35b6c1a55c4
加入频道
💬 Как часто приходится переписывать код после "революционных" изменений требований?

🔥 — никогда, требования всегда стабильные
🎉 — редко, бывает нужно немного доработать
👍 — часто, бывает перерабатываю значительные части
🌚 — требования меняются быстрее, чем успеваю писать код
Please open Telegram to view this post
VIEW IN TELEGRAM
⌛️ VisualVM: мощный инструмент для мониторинга

⚙️ Что умеет VisualVM

— Мониторинг JVM: позволяет отслеживать использование памяти (heap и non-heap), количество потоков, загрузку процессора и частоту сборки мусора. Также предоставляет данные в реальном времени.

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

— Анализ дампов памяти: дает возможность загружать и исследовать heap-дампы для выявления утечек памяти или избыточного использования объектов.

— Трейсинг потоков: отслеживает состояние потоков, показывая, активны ли они, находятся в ожидании или блокируются.

— Расширения: поддерживает подключение плагинов, таких как интеграция с JConsole, мониторинг серверов приложений (например, Tomcat) и другие функции.

💡 Как начать

1. Установить VisualVM. До 9 java он уже входит в JDK. Для более новых версий его можно скачать отдельно с официального сайта: VisualVM.

2. Запустить локальное приложение — для этого достаточно открыть VisualVM и выбрать активный процесс JVM.

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

🚩 Когда использовать

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

💬 Какие сценарии помог решить VisualVM? Делитесь интересным опытом.
Please open Telegram to view this post
VIEW IN TELEGRAM
🌵🕵️‍♂️ Git-квест: 10 испытаний для повелителя репозиториев

Готовы проверить свои навыки работы с Git? Пройдите наш квест и узнайте, насколько искусны в управлении репозиториями.

Посмотрим, пугают ли вас git stash, git rebase и прочие страшные слова 😁

🔗 Пройти тест
Please open Telegram to view this post
VIEW IN TELEGRAM
☁️ Какое облако выбрать?

Для наглядности подготовили для вас карточки со сравнением технологий облачных решений!

📎 Подробнее можно почитать в предыдущем посте

🐸Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM
🕯 Паттерн Интерпретатор (Interpreter)

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

Когда использовать

🔹 Для интерпретации выражений на языке, когда есть грамматика для их описания.
🔹 Для создания простых языков с ограниченным синтаксисом, таких как математические выражения, поисковые запросы или фильтры.
🔹 Для упрощения расширения и модификации языка или грамматики, особенно, если эти изменения требуются часто.

Преимущества

1️⃣ Упрощает добавление новых правил грамматики или изменение существующих.
2️⃣ Структурирует описание языка, разделяя грамматику и логику выполнения.
3️⃣ Подходит для различных задач, связанных с анализом и интерпретацией.

Недостатки

1️⃣ Становится громоздким при работе со сложными языками с большим количеством правил.
2️⃣ Показывает низкую производительность при построении деревьев выражений и их интерпретации для больших объемов данных.
3️⃣ Сложен в поддержке, если язык активно развивается и усложняется.

Interpreter хорошо подходит для создания простых языков, например, DSL (domain-specific language), и позволяет реализовать мощные возможности анализа и исполнения выражений.

Однако для более сложных языков лучше использовать специализированные инструменты вроде ANTLR или парсеров.
Please open Telegram to view this post
VIEW IN TELEGRAM
📚Mastering Spring Framework: Java Development Made Easy: Learn Spring JDBC, Spring AOP, JUnit, and Mockito for Expert-Level Java (2024)

✍️Автор: R. Parvin

📃Страниц: 390

Вы Java-разработчик, готовый раскрыть весь потенциал Spring Framework и Spring Boot? Это подробное руководство познакомит вас с основами и передовыми технологиями, которые помогут вам создавать надежные, масштабируемые и эффективные приложения.

Скачать книгу
#дайджест #Javadevjob

Вакансии Java разработчиков уровня Junior

▪️ Java Developer
Офис (Москва), Trend Soft

▪️ Java Developer
Офис (Ярославль), STRONG TEAM

Вакансии Java разработчиков уровня Middle

▪️ Java-разработчик
Удалёнка / Офис (Иркутск), SMART DATA

▪️ Java программист
Офис, Совкомбанк Технологии

Вакансии Java разработчиков уровня Senior

▪️ Java-разработчик
Удалёнка / Гибрид (Москва), Росгосстрах

▪️ Java-разработчик
Офис (Томск) / Удалёнка, Т-Банк

Понравились вакансии?
❤️ — да
🤔 — нет
🔝 Российская альтернатива зарубежным IDE

В декабре 2024 года российские компании «Группа Астра», Haulmont и Axiom JDK объявили о создании OpenIDE — открытой среды разработки, основанной на IntelliJ IDEA Community Edition.

В OpenIDE нет проприетарных компонентов, она не обращается к зарубежным серверам и включает собственный маркетплейс плагинов. Публичный релиз запланирован на март 2025 года, а бета-тестирование начнётся совсем скоро.

Ключевые особенности OpenIDE


🔹 Поддержка Java и Kotlin. Далее планируют расширение на Go, TypeScript, Rust и другие языки через интеграцию с LSP-серверами.
🔹 Поддержка Axiom JDK. Также готовят взаимодействие с платформой GitFlic для безопасной и удобной работы над проектами.
🔹 Маркетплейс плагинов, который включает около 400 популярных плагинов.

🔗 Подробнее о проекте
Please open Telegram to view this post
VIEW IN TELEGRAM
🤖 📈 Data Science в 2025 году: 7 главных трендов

Разработчики JetBrains и Python Software Foundation рассказали, как изменится Data Science в ближайшие годы.

➡️ В статье:

▪️ Почему доля Python в анализе данных снижается
▪️ Какие библиотеки набирают популярность вместо pandas
▪️ Что происходит с AutoML, MLOps и визуализацией данных
▪️ И почему Rust и Julia наступают Python на пятки

Подробный разбор, новые инструменты и прогнозы на будущее — всё это читай в нашей статье.

🔵 Тренды меняются, но основы остаются — укрепи базу с нашим курсом «Математика для Data Science»
Please open Telegram to view this post
VIEW IN TELEGRAM
Привет! Мы собираем данные о том, какие методы биохакинга действительно помогают разрабам улучшить качество жизни и повысить продуктивность. Поделитесь своим опытом — это поможет другим сделать осознанный выбор в мире биохакинга.