Java Books
14.3K subscribers
207 photos
13 videos
269 files
267 links
Java Библиотека

По всем вопросам- @notxxx1

@ai_machinelearning_big_data - machine learning

@pythonl - Python

@itchannels_telegram - 🔥 best it channels

@ArtificialIntelligencedl - AI

@pythonlbooks-📚

@programming_books_it -it 📚

№ 5032728887
Download Telegram
Java-Programming-Made-Easy.pdf
25.2 MB
Java Programming Made Easy - 2023
#java #en
👍3👎1
Persistence.Best.Practices.for.Java.pdf
11.7 MB
Persistence Best Practices for Java Applications - 2023
#java #en
6🔥2🥰1
Functional.Programming.in.Java.pdf
3.1 MB
Functional Programming in Java - 2023
#java #en
10👍6🥰1
Functional.Programming.in.Java.pdf
3.1 MB
Functional Programming in Java - 2023
#java #en
6👍2
⚡️ Алгоритмы на Java

В книге «Алгоритмы на Java» представлен широкий спектр рассматриваемых тем: исчерпывающее толкование структур данных и алгоритмов сортировки, поиска, обработки графов и строк, включая пятьдесят алгоритмов, которые должен знать каждый программист. Описываются новые реализации алгоритмов на Java, написанные в ясном модульном стиле, при котором весь код доступен читателю и полностью готов к использованию. В книге изучение алгоритмов на Java ведется в контексте важнейших научных, инженерных и коммерческих приложений. Клиенты и алгоритмы выражены с помощью реального кода, а не псевдокода, как во многих других книгах.

📖 Книга

#java
8🔥2👍1
Шпаргалка по основам Java

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

#шпаргалка #java #начинающим
8👍2🔥2👎1
🖥 Команды Docker для Java-разработчика
#java #ayshriv #docker #springboot
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥43🤡3🤔1
Forwarded from Java
🖥 Java исполняется 30 лет 🎊🎊🎊

Команда Java отмечает это событие шестичасовым прямым эфиром, посвящённым эволюции языка, его глобальному влиянию и формированию его будущего.

💝 Поздравь коллегу

https://www.youtube.com/watch?v=LHHPbI7sYv8

@javatg

#Java #OpenJDK
Please open Telegram to view this post
VIEW IN TELEGRAM
11👍4🔥3
🔒 Практическое руководство по тестированию безопасности Java-приложений — инструменты, примеры и команды.

SCA (анализ ПО)
SAST (статическое тестирование безопасности)
DAST (динамическое тестирование безопасности)
Penetration Testing (тестирование на проникновение)

👉 Подробности: https://ionutbalosin.com/2025/03/security-application-testing-for-java-developers
📦 Код и практики: https://github.com/ionutbalosin/java-application-security-practices

#Java #AppSec
5👍2🔥2
💡 Совет по Java: автоматизируй проверку архитектурных правил через тесты

Вместо того чтобы ловить нарушения код-стандарта на ревью, формализуй их прямо в юнит-тестах. DSL-подход (в духе ArchUnit / TAIKAI) позволяет описать ограничения читаемо и выполнять их при каждом сборочном цикле.


@Test
void shouldFulfillConstraints() {
Taikai.builder()
.namespace("com.enofex.taikai") // выбранный пакет
.java(java -> java // правила для Java-кода
.noUsageOfDeprecatedAPIs() // запрет устаревших API
.methodsShouldNotDeclareGenericExceptions()// никаких throws Exception
.utilityClassesShouldBeFinalAndHavePrivateConstructors())
.logging(logging -> logging // единый стиль логгеров
.loggersShouldFollowConventions(
Logger.class, "logger",
EnumSet.of(PRIVATE, FINAL)))
.spring(spring -> spring // правила для Spring-слоя
.controllers(c -> c
.shouldBeAnnotatedWithRestController() // все контроллеры = REST
.shouldNotDependOnOtherControllers()))
.build()
.check(); // тест упадёт, если есть ошибка
}


Плюсы подхода:

Быстрая обратная связь — CI сразу показывает, где правила нарушены.

Чёткая документация — правила читаемы прямо в коде, без вики-страниц.

Меньше рутины на ревью — обсуждаем дизайн, а не «почему здесь throws Exception».

Добавь такой тест-набор в проект и поддерживай кодовую базу в здоровом состоянии автоматически.

#Java #CodeQuality #ArchUnit #SpringBoot

@java_library
👍107👏4
Java25 уже на подходе!

В свежем релизе — важные улучшения, о которых стоит знать каждому Java-разработчику:

🔹 JEP 502: Stable Values — новый способ работы со значениями, который делает код надёжнее и эффективнее.
🔹 JEP 514/515: Project Leyden — фокус на время запуска приложений и оптимизацию старта JVM.

📖 Подробный разбор:
https://softwaremill.com/jep-502-stable-values-new-feature-of-java-25-explained/

#Java #JEP #Leyden #Programming
12👍2🔥1
🚀 Spring Boot Pro Tip: свой FailureAnalyzer

В Spring Boot можно перехватывать ошибки на этапе запуска и превращать их в понятные человеку сообщения. Для этого создан механизм FailureAnalyzer.

Зачем он нужен
- улучшает диагностику на старте приложения
- помогает быстро находить причины конфигурационных ошибок
- делает логирование чище и понятнее

Как работает
Вы создаёте свой класс, который анализирует исключение и возвращает читаемое описание проблемы и советы по исправлению.

Под капотом Spring Boot автоматически подцепит ваш анализатор и покажет дружелюбное сообщение вместо сырого stacktrace.

Документация:
https://docs.spring.io/spring-boot/how-to/application.html#howto.application.failure-analyzer

#SpringBoot #Java #FailureAnalyzer #Backend #DevTips
7👍4
🚀 Java API Tip

StackWalker — удобный инструмент для обхода стек-фреймов и их интроспекции. Полезен для дебага, профилирования и анализа поведения кода на лету. Позволяет считывать текущий стек, фильтровать фреймы, смотреть классы и методы, откуда был вызван код.

Документация:
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/StackWalker.html

#Java #JavaAPI
4🔥2💊1
💡 Java совет:

Начиная с Java 19, можно использовать *виртуальные потоки* - лёгкие потоки, которые управляются самой JVM, а не операционной системой.

Что это даёт:

- можно запускать тысячи и даже миллионы задач без нагрузки на ОС
- проще писать высоконагруженные приложения без сложной асинхронности
- более понятный и чистый код по сравнению с CompletableFuture и callback-подходами

Виртуальные потоки — главный шаг Java к масштабируемой конкурентности.

#Java #JavaDev
👍76🔥6👎1
This media is not supported in your browser
VIEW IN TELEGRAM
🧠JAVA ИСПОЛЬЗУЙ TREESET ПРАВИЛЬНО #java

Если в Java нужно убрать дубликаты из списка и отсортировать элементы - используй TreeSet. Он автоматически удаляет повторяющиеся значения и сортирует их либо по естественному порядку, либо по кастомному правилу через Comparator.


Естественный порядок
List<String> colors = Arrays.asList("red", "green", "red", "orange", "turquoise");
Set<String> colorsSet = new TreeSet<>(colors);
for (String color : colorsSet) {
System.out.println(color);
}

Сортировка по длине строки
Comparator<String> byLength = Comparator.comparingInt(String::length);
Set<String> sortedSet = new TreeSet<>(byLength);
sortedSet.addAll(colors);
for (String color : sortedSet) {
System.out.println(color);
}
👍83👎3
💡 Java совет: рекурсивная обработка файлов с Files.walk()

Если нужно пройтись по всем файлам в директории и её подкаталогах, не пиши рекурсию вручную — используй Files.walk().

Пример: найти все `.java`-файлы в проекте


Path startPath = Paths.get("src");

try (Stream<Path> paths = Files.walk(startPath)) {
paths
.filter(Files::isRegularFile)
.filter(path -> path.toString().endsWith(".java"))
.forEach(System.out::println);
} catch (IOException e) {
e.printStackTrace();
}


Почему это хороший подход:

- Рекурсивный обход «из коробки»
- Работает через Stream API
- Легко фильтровать, маппить и агрегировать
- Автоматически закрывает ресурсы (try-with-resources)

Полезно для:

- анализа исходников
- линтеров и кодогенерации
- поиска файлов по расширению
- утилит и dev-скриптов

#Java #IO
8👍7🔥2👎1