Библиотека Java разработчика
10.8K subscribers
1.14K photos
563 videos
58 files
1.44K links
📚 Лайфхаки, приёмы и лучшие практики для Java-разработчиков. Всё, что ускорит код и прокачает навыки. Java, Spring, Maven, Hibernate.


По всем вопросам @evgenycarter

РКН clck.ru/3KoGeP
Download Telegram
Полезные и неизвестные библиотеки Java

https://piotrminkowski.com/2023/01/30/useful-unknown-java-libraries/

👉@BookJava
👍3
Полное руководство по виртуальным потокам Java

1. Настройка
2. Почему виртуальные потоки?
3. Как создать виртуальный поток
4. Как работают виртуальные потоки
5. Планировщик и совместное планирование
6. Закрепленные виртуальные темы
7. ThreadLocal и пулы потоков
8. Некоторые внутренности виртуальных потоков
9. Выводы
10. Приложение: Конфигурация Maven

https://blog.rockthejvm.com/ultimate-guide-to-java-virtual-threads/

👉@BookJava
👍7
Servlets

Создание и отладка сервлета. Servlet Intro
POST запросы, параметры, формы, файлы. Servlet Intro
JSP шаблоны для Java Servlet
JSTL для JSP (Java Servlet)
Создание JSP тэга и своей библиотеки тэгов (Java Servlet)

источник

👉@BookJava
Эволюция Java

Наиболее важные усовершенствования языка, которые были сделаны в Java за последние 20 лет

https://betterprogramming.pub/the-evolution-of-java-37e4dc8e6cc7

👉@BookJava
👍3
Вышла Java 21

Вышла общедоступная версия Java 21. В этот релиз попало около 2500 закрытых задач и 15 JEP'ов. Release Notes можно посмотреть здесь. Изменения API – здесь.

Java 21 является LTS-релизом, а значит у него будут выходить обновления как минимум 5 лет с момента выхода.

Скачать JDK 21 можно по этим ссылкам:
Oracle JDK (лицензия NFTC)
OpenJDK (лицензия GPLv2 with Classpath Exception)

https://habr.com/ru/articles/762084/

👉@BookJava
👍9
Project Loom и Spring Boot: тесты производительности

Сегодня я хочу выяснить, готов ли Project Loom заменить Spring WebFlux при создании высоконагруженных приложений с высокой пропускной способностью.

Проблемы реактивного подхода
WebFlux - замечательная технология с фантастической производительностью, однако:

- При использовании реактивного подхода код сложнее писать и сопровождать
- Стектрейсы малополезны при разборе ошибок
- Все связанные клиенты/библиотеки также должны быть написаны в реактивном стиле

Что такое Project Loom

- В статусе превью-фичи с Java 19, разработка стартовала в 2017
- Основное нововведение - виртуальные потоки, призванные значительно снизить трудозатраты на написание и сопровождение приложений
- Предполагается возможность создавать миллионы виртуальных потоков. (Прим. пер. мне кажется, автору стоило явно выделить основную мысль. Поскольку виртуальные потоки дешевы, то запуск блокирующего кода в таком потоке тоже дешевая операция, т.к. реальный системный поток при этом не блокируется и может заняться чем-нибудь полезным )
- Предполагается минимальное вмешательство в существующий код
- Стек виртуальных потоков хранится в хипе JVM

Rus https://habr.com/ru/articles/745748/

Eng https://filia-aleks.medium.com/project-loom-with-spring-boot-performance-tests-c007e0e411c8

👉@BookJava
👍4🔥31👎1
Media is too big
VIEW IN TELEGRAM
Java. Быстрая сортировка. Реализация алгоритма QuickSort.

Как работает быстрая сортировка, разбор и реализация алгоритма.

источник

👉@BookJava
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Автоматическое создание интерактивных диаграмм последовательностей поведения Java-кода во время исполнения

Диаграммы последовательностей являются невероятно мощным средством визуализации и понимания поведения во время выполнения программы. Присущая им структура - объекты перетекают по странице, время течет вниз по странице - интуитивно понятна и проста в освоении. Кроме того, они являются одним из лучших инструментов для разработчиков и технических специалистов, не являющихся разработчиками (например, инженерных менеджеров и менеджеров по продуктам), при обсуждении дизайна кода.

https://dev.to/appmap/automatically-generate-interactive-sequence-diagrams-of-your-java-codes-runtime-behavior-2jg0

👉@BookJava
👍5
Настройка производительности Java

Основные методы повышения скорости работы и отзывчивости приложений

Как разработчик, я часто использую популярный язык программирования Java для создания приложений. Настройка производительности является одним из ключевых компонентов создания эффективных Java-приложений. Мне необходимо оптимизировать код для достижения максимальной производительности, чтобы гарантировать, что мое приложение будет соответствовать ожиданиям пользователей и бизнес-задачам. В этой статье я расскажу о ключевых методах оптимизации производительности Java, чтобы вы тоже могли повысить эффективность своих Java-приложений.

https://developnsolve.com/java-performance-tuning

👉@BookJava
👍3
☕️ Освоение бэкэнд-разработки с помощью Java Spring Boot: лучшие практики и профессиональные советы

Spring Boot - это широко используемый и очень популярный высокопроизводительный фреймворк корпоративного уровня. Здесь приведены некоторые лучшие практики и несколько советов, которые можно использовать для улучшения приложения Spring Boot и повышения его эффективности.

https://itznihal.medium.com/mastering-backend-development-with-java-spring-boot-best-practices-and-pro-tips-3fc0f501418e

👉@BookJava
This media is not supported in your browser
VIEW IN TELEGRAM
🚀 Присоединяйтесь к нашему каналу "Java | Фишки и трюки"! 🚀

🔥 Хотите узнать все секреты программирования на Java? Мы расскажем вам о самых крутых фишках и трюках, которые сделают вас настоящим гуру Java!

📚 У нас вы найдете:
Советы по оптимизации кода
Лучшие практики разработки на Java
Увлекательные задачи для тренировки навыков
И многое другое!

Прокачайте свои навыки программирования и станьте экспертом в мире Java! Присоединяйтесь к нам прямо сейчас!

👉 Java | Фишки и трюки 👈

#Java #Программирование
👍1
Media is too big
VIEW IN TELEGRAM
Запускаем WebSocket сервер на базе Jetty, без Spring

Иногда хочется не целый каравай, а просто хлеб с маслом.
Вот и мне понадобился простой java проект с socket-сервером, без необходимости тащить спринг.

00:00 Старт
00:05 Новый проект
01:04 Jetty dependency
01:54 App
02:14 Server
04:18 WebSocketContainer
04:58 @ WebSocket annotations
07:50 DO NOT COPY A CODE! ))
09:12 server.start()
09:56 @ OnWebSocketError ))
11:21 Done
12:04 Like & Subscribe

GitHub

Источник

👉@BookJava
👍8
Подборка Telegram каналов для программистов

Системное администрирование 📌
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://t.me/sysadminoff Новости Линукс Linux


https://t.me/tikon_1 Новости высоких технологий, науки и техники💡
https://t.me/mir_teh Мир технологий (Technology World)

https://t.me/rust_lib Полезный контент по программированию на Rust
https://t.me/golang_lib Библиотека Go (Golang) разработчика

https://t.me/itmozg Программисты, дизайнеры, новости из мира IT.
https://t.me/phis_mat Обучающие видео, книги по Физике и Математике

https://t.me/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻
https://t.me/nodejs_lib Подборки по Node js и все что с ним связано
https://t.me/ruby_lib Библиотека Ruby программиста

1C разработка 📌
https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С

Программирование C++📌
https://t.me/cpp_lib Библиотека C/C++ разработчика
https://t.me/cpp_knigi Книги для программистов C/C++
https://t.me/cpp_geek Учим C/C++ на примерах

Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
https://t.me/python_360 Книги по Python Rus

Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
https://t.me/java_360 Книги по Java Rus
https://t.me/java_geek Учим Java на примерах

GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub

Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных

Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
https://t.me/kotlin_lib Подборки полезного материала по Kotlin

Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
https://t.me/frontend_sovet Frontend советы, примеры и практика!
https://t.me/React_lib Подборки по React js и все что с ним связано

Разработка игр 📌
https://t.me/game_devv Все о разработке игр

Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT

Чат программистов📌
https://t.me/developers_ru

Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
https://t.me/books_reserv Книги для программистов

БигДата, машинное обучение 📌
https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning

Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию

QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика

Шутки программистов 📌
https://t.me/itumor Шутки программистов

Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
https://t.me/xakep_1 Статьи из "Хакера"

Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров

Английский 📌
https://t.me/UchuEnglish Английский с нуля

Математика 📌
https://t.me/Pomatematike Канал по математике

Excel лайфхак📌
https://t.me/Excel_lifehack
🤮1
☕️ Основные методы экономии памяти для программирования на Java

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

В этой статье мы рассмотрим некоторые из лучших практик и советов по экономии памяти в Java.

https://medium.com/javarevisited/basic-memory-saving-techniques-for-java-programming-6677a7237a69

👉@BookJava
👍1