Java библиотека
31.6K subscribers
2.31K photos
77 videos
8 files
2.04K links
Книги, статьи, мемы и многое другое для Java программиста!

По сотрудничеству и рекламе: @NadikaKir

Канал в перечне РКН: https://vk.cc/cJrT4A

Мы на бирже: https://telega.in/c/javalib/

Сообщество VK https://vk.com/javatutorial
Download Telegram
erid: LjN8KQUDy


31 августа произойдет два важных события. И оба грустные

Во-первых, закончится лето. Во-вторых, закончится прием заявок на курс Академии ИТ-менеджмента, где можно научиться быть хорошим управленцем. Только 20 человек за 5 месяцев получат знания и опыта от Алексея Карпунина и других знаковых менеджеров ИТ!

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

После обучения вы попадёте в закрытый клуб и будете иметь доступ к опыту и знаниям топов рынка ИТ. Сильное окружение — ключевая часть успешной реализации и мы готовы это вам дать. Лучшим студентам — гарантия трудоустройства в ведущие ИТ-компании!

Подпишись на канал, чтобы следить за новостями и 24 августа задать вопросы ведущему курса (будет нестандартно, гарантируем)

Если вы уже готовы, подавайте заявку на сайте



Реклама. ИП Аргышева В.В., ИНН 745311977025
7👍7🔥21
Искусство чистого кода (2023) PDF

Большинство разработчиков ПО тратят тысячи часов на создание излишне сложного кода. Девять основных принципов книги «Искусство чистого кода» научат вас писать понятный и удобный в сопровождении код без ущерба для функциональности. Главный принцип — это простота: сокращайте, упрощайте и перенаправляйте освободившуюся энергию на самые важные задачи, чтобы сэкономить бесчисленное количество часов и облегчить зачастую очень утомительную задачу поддержки кода. Автор бестселлеров Кристиан Майер помог тысячам людей усовершенствовать навыки программирования и в своей новой книге делится опытом с читателями.
👍226🔥3
Как определить, содержит ли массив определенное значение в Java с помощью потоков?

Чтобы проверить, содержит ли массив значений int, double или long значение, используйте IntStream, DoubleStream или LongStream соответственно.
👍217🔥6
Spring 6 Recipes: A Problem-Solution Approach to Spring Framework, Fifth Edition (2023) PDF

This in-depth Spring-based Java developer code reference has been updated and now solves many of your Spring Framework 6 problems using reusable, complete and real-world working code examples. Spring 6 Recipes (5th Edition) now includes Spring Native which speeds up your Java-based Spring Framework built enterprise, native cloud, web applications and microservices. It also has been updated to now include Spring R2DBC for Reactive Relational Database Connectivity, a specification to integrate SQL databases, like PostgreSQL, MySQL and more, using reactive drivers.

Furthermore, this book includes additional coverage of WebFlux for more reactive Spring web applications. Reactive programming allows you to build systems that are resilient to high load, especially common in the more complex enterprise, native cloud applications that Spring Framework lets you build.
👍137🔥2
👩‍💻 Создание REST API с использованием Spring WebFlux и Security

В данном видео рассмотрен пример создания REST API с использованием следующих технологий:
- Spring Boot 3
- Spring Security (JWT)
- Spring WebFlux
- Spring Data R2DBC
- MapStruct
- PostgreSQL
- Flyway
Please open Telegram to view this post
VIEW IN TELEGRAM
👍259🔥4🎉1
Современная программная инженерия. ПО в эпоху эджайла и непрерывного развертывания (2023) PDF

Дэвид Фарли, легендарный разработчик и создатель continuous delivery, рассказывает о фундаментальных принципах разработки современного ПО. Пора познакомиться с наиболее эффективными и грамотными методами управления рабочими процессами, которые позволят повысить качество ваших приложений, вашей жизни и жизни ваших коллег.
Ключевые концепции, лежащие в основе эффективной разработки ПО, — это непрерывное обучение и управление сложностью. Дэвид Фарли анализирует их и формулирует принципы, следование которым приведет к улучшению дизайна ПО и качества кода, а также методы и подходы, доказавшие свою эффективность и приводящие к успеху. Речь идет не об абстракциях, вы освоите реальные приемы, которыми пользуются опытные разработчики ПО. Эти техники эмпирические и итеративные, они основаны на обратной связи и сосредоточены на выполнении кода, то есть соответствуют всем требованиям современной разработки.
12👍8🔥2
Согласно Кнуту и Кормену существует две основных реализации хэш-таблицы: на основе открытой адресации и на основе метода цепочек. Как реализована HashMap? Почему, по вашему мнению, была выбрана именно эта реализация? В чем плюсы и минусы каждого подхода?

HashMap в Java реализуется на основе метода цепочек (loopback hashing). Этот подход заключается в том, что каждый элемент хэш-таблицы хранится в отдельном блоке памяти, называемом хеш-блоком. Хеш-блоки связаны между собой, но не связаны друг с другом физически. Это означает, что если один хеш-блок изменяется, то все связанные с ним хеш-блоки также изменятся.

Преимущества использования метода цепочек в HashMap заключаются в следующем:

1. Простота реализации: Метод цепочек позволяет легко добавлять, удалять и изменять элементы хэш-таблицы.

2. Высокая производительность: Метод цепочек обеспечивает высокую производительность при поиске элементов в хеш-таблице, так как он работает за константное время O(1).

3. Устойчивость к коллизиям: Метод цепочек гарантирует, что два разных ключа не будут иметь одинаковый хеш-код, что делает хеш-таблицу устойчивой к коллизиям.

Однако, есть и некоторые недостатки использования метода цепочек в HashMap:

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

2. Ограниченность размера: Метод цепочек не поддерживает добавление элементов в хеш-таблицу больше, чем размер самого хеш-блока. Это означает, что если вы попытаетесь добавить элемент в хеш-таблицу, который превышает ее максимальный размер, то вы получите ошибку.

3. Неэффективность при работе с большими объемами данных: Метод цепочек может быть менее эффективным при работе с большими объемами данных, так как он требует большого количества дополнительной памяти для хранения хеш-блоков.

В итоге, выбор метода цепочек в HashMap был выбран из-за простоты реализации, высокой производительности, устойчивости к коллизиям и возможности работы с большими объемами данных. Однако, при работе с большими объемами данных использование метода цепочек может быть менее эффективным.
👍209🔥3
Можно ли считать Final переменную константой?

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

А если тип данных mutable, то есть изменяемый, при помощи методов и переменных можно будет изменить значение объекта, на который ссылается final переменная, и в таком случае назвать ее константой нельзя. Так вот, на примере видно, что часть финальных переменных действительно константы, а часть — нет, и их можно изменить.
👍15
Learning Java: An Introduction to Real-World Programming with Java, 6th Edition (Final) (2023) True ePUB

Ideal for working programmers new to Java, this best-selling book guides you through the language features and APIs of Java 21. Through fun, compelling, and realistic examples, authors Marc Loy, Patrick Niemeyer, and Dan Leuck introduce you to Java's fundamentals, including its class libraries, programming techniques, and idioms, with an eye toward building real applications.

This updated sixth edition expands the content to continue covering lambdas and streams, and shows you how to use a functional paradigm in Java. You'll learn about the latest Java features introduced since the book's fifth edition, from JDK 15 through 21. You'll also take a deep dive into virtual threads (introduced as Project Loom in Java 19).
👍11🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Яндекс запустил канал ТЕХНО, в котором простым языком рассказывает о том, как устроен мир технологий. Внутри всё то, что мы так любим: нейросети, роботы, чат-боты, голосовые помощники и многое другое.

Из любопытного:
— Что такое промпт и как его правильно формулировать
— Почему на первых клавиатурах не было 0 и 1
— Чем занимается преподаватель для нейросети
— И наконец, займут ли ваше рабочее место роботы и ИИ

Подписывайтесь тут 👉 https://t.me/techno_yandex!
👍72
Программирование на Kotlin для Android (2023) PDF, djvu

Книга посвящена разработке мобильных приложений для Android на языке Kotlin. Рассмотрены основные структуры и элементы языка, подробно описан фреймворк коллекций Kotlin. Показана архитектура операционной системы Android, приложений и их контейнеров, изучаются основы параллельного программирования. Рассказано о потокобезопасности, работе с параллелизмом с использованием обратных вызовов. Отдельная глава посвящена специальным конструкциям Kotlin — сопрограммам, с акцентом на структурированный параллелизм. Рассматриваются каналы, использование потоков для асинхронной обработки данных. Изучаются вопросы повышения производительности приложений с использованием инструментов профилирования Android и снижения потребления ресурсов за счет оптимизации производительности.
👍10🔥5
Как работает HashMap при попытке сохранить в него два элемента по ключам с одинаковым hashCode(), но для которых equals() == false?

По значению hashCode() вычисляется индекс ячейки массива, в список которой этот элемент будет добавлен. Перед добавлением осуществляется проверка на наличие элементов в этой ячейке. Если элементы с таким hashCode() уже присутствует, но их equals() методы не равны, то элемент будет добавлен в конец списка.
👍16🔥6
Какое начальное количество корзин в HashMap?

В конструкторе по умолчанию - 16, используя конструкторы с параметрами можно задавать произвольное начальное количество корзин.
👍14
Mastering Java: 100+ Solved and Commented Exercises to Accelerate your Learning (2023) PDF

Exercise your programming logic skills in Java with the book "Mastering Java: 100+ Solved and Commented Exercises to Accelerate Your Learning".

In this book, over 100 programming logic exercises are presented, all solved and commented. In many exercises, multiple solutions are provided so that you can compare different ways of solving a programming problem.

Who is this book for?
This book is aimed at people who are starting to program and need to develop their programming logic skills using the Java language.
👍9🔥1
Если вам не чужды такие понятия как NFS-кластер, PaceMaker и SELinux — этот туториал для вас

Девопсы из РТЛабс (разработчик Госуслуг) собрали рецепт отказоустойчивого файлового хранилища. Реализовывали всё это с помощью PaceMaker — с общим диском, поддержкой кворума, демона SDB и протокола NFS

Статья сложная, но подробная — специально для тех, кто любит технические детали

Остались вопросы? Задавайте их в комментариях к материалу

#промо Информация предоставлена АО "РТ Лабс"
👍7🔥42
Почему нельзя использовать byte[] в качестве ключа в HashMap?

Хэш-код массива не зависит от хранимых в нем элементов, а присваивается при создании массива (метод вычисления хэш-кода массива не переопределен и вычисляется по стандартному Object.hashCode() на основании адреса массива). Так же у массивов не переопределен equals и выполняется сравнение указателей. Это приводит к тому, что обратиться к сохраненному с ключом-массивом элементу не получится при использовании другого массива такого же размера и с такими же элементами, доступ можно осуществить лишь в одном случае — при использовании той же самой ссылки на массив, что использовалась для сохранения элемента.
👍19🔥32
😁
😁176🔥14💯94👍3