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
Kotlin Essentials (2022) True PDF, ePUB

This book covers the essentials of Kotlin so you can start developing with this amazing programming language. We show nearly everything you need to know in clear and executable code examples.

Kotlin is a powerful language, largely thanks to its expressive syntax, intuitive and null-safe type system, and great tooling support. It’s no wonder Kotlin is the most popular language for Android development and is a popular alternative to Java for backend applications. It is also used for data science and for multi platform, iOS, desktop, and web application development. In this book, you are going to learn about the most important Kotlin features, which will let you properly start your adventure with Kotlin.

Kotlin is a multiplatform language, but it is mainly used on JVM. Also, most Kotlin developers have experience in Java. This is why I sometimes reference Java and its platform, and I sometimes present JVM-specific elements.
👍15
Правила переопределения метода Object.equals().

1. Использование оператора == для проверки, является ли аргумент ссылкой на указанный объект. Если является, возвращается true. Если сравниваемый объект == null, должно вернуться false.
2. Использование оператор instanceof и вызова метода getClass() для проверки, имеет ли аргумент правильный тип. Если не имеет, возвращается false.
3. Приведение аргумента к правильному типу. Поскольку эта операция следует за проверкой instanceof она гарантированно будет выполнена.
4. Обход всех значимых полей класса и проверка того, что значение поля в текущем объекте и значение того же поля в проверяемом на эквивалентность аргументе соответствуют друг другу. Если проверки для всех полей прошли успешно, возвращается результат true, в противном случае - false.

По окончанию переопределения метода equals() следует проверить: является ли порождаемое отношение эквивалентности рефлексивным, симметричным, транзитивным и непротиворечивым? Если ответ отрицательный, метод подлежит соответствующей правке.
👍28🔥4🎅1
Audio
Друзья, вашему вниманию предлагается подкаст на английском языке от Josh Long. 😃

В предложенном подкасте Josh Long поговорит с Justin Reock (Field CTO and Chief Evangelist at Gradle) о Gradle.

Приятного аудирования!
👍15
Forwarded from Java News
Используем аннотацию @Transactional like a pro

Привет! Меня зовут Никита Летов, я тимлид бэкенд-разработки мобильного приложения Росбанка для физических лиц. Этот пост входит в серию постов по разработке бэкенд-микросервисов на Java и Spring и является адаптацией моего доклада с JPoint 2022.

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

Читать статью
👍34😁1
🔥 Apache StreamPark - Волшебный фреймворк, который упрощает обработку потоков!

Apache Flink и Apache Spark широко используются в качестве следующего поколения вычислительных движков для потоковой передачи больших данных. Основываясь на превосходном опыте в сочетании с лучшими практиками, мы извлекли параметры развертывания задачи и времени выполнения в файлы конфигурации. Таким образом, простой в использовании RuntimeContext с готовыми соединителями упростит и повысит эффективность разработки задач. Это снижает затраты на обучение и барьеры для разработки, поэтому разработчики могут сосредоточиться на бизнес-логике. С другой стороны, предприятиям может быть сложно использовать Flink & Spark, если на этапе развертывания нет профессиональной платформы управления для задач Flink & Spark. StreamPark предоставляет такую профессиональную платформу для управления задачами, включая разработку задач, планирование, интерактивные запросы, развертывание, эксплуатацию, обслуживание и т. д.

🖥 GitHub

@javalib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥2
Если equals() переопределен, есть ли какие-либо другие методы, которые следует переопределить?

Равные объекты должны возвращать одинаковые хэш коды. При переопределении equals() нужно обязательно переопределять и метод hashCode().
👍35🔥5
Что подарить ребёнку на Новый год?

Последние недели декабря — время активного поиска подарков. Совместите приятное с полезным: выберите младшему хорошую книгу о технологиях и IT.

«Искусственный интеллект. 5 больших идей» — русская адаптация одной из самых популярных на Amazon детских книг про ИИ. Она отвечает на простые, но важные вопросы:

— Чему можно научить робота?
— Где можно встретить искусственный интеллект в обычной жизни?
— Как технологии ИИ помогают человеку?

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

Закажите на этой неделе — и она ещё успеет прийти к праздникам.

Реклама. Рекламодатель: ООО «СберОбразование»
👍9🔥21🤩1
Как написать на Java функцию, подобную sizeof в C

Если вы только начинаете изучать Java и уже имеете опыт программирования на С, то можете заметить разницу между этими двумя языками. К примеру, String  —  это объект в Java, а не массив символов с конечным NULL. Аналогично, в Java нет оператора sizeof(). Все примитивы имеют заранее определенный размер, например int  —  4 байта, char  —  2 байта, short  —  2 байта, long и float  —  8 байт и так далее.

Читать статью
👍10
Что будет, если переопределить equals() не переопределяя hashCode()? Какие могут возникнуть проблемы?

Классы и методы, которые используют правила этого контракта могут работать некорректно. Так для HashMap это может привести к тому, что пара «ключ-значение», которая была в неё помещена при использовании нового экземпляра ключа не будет в ней найдена.
👍28
15 советов для развития экспертизы в Java

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

Приятного чтения!

Читать статью
👍13🔥3
Каким образом реализованы методы hashCode() и equals() в классе Object?

Реализация метода Object.equals() сводится к проверке на равенство двух ссылок:

 public boolean equals(Object obj) {
return (this == obj);
}

Реализация метода Object.hashCode() описана как native, т.е. определенной не с помощью Java кода и обычно возвращает адрес объекта в памяти:

public native int hashCode();
👍17😁6
Beginning Spring data: Data Access and Persistence for Spring Framework 6 and Boot 3 (2023) True PDF, ePUB

Use the popular Spring Data project for data access and persistence using various Java-based APIs such as JDBC, JPA, MongoDB, and more.

This book shows how to easily incorporate data persistence and accessibility into your microservices, cloud-native applications, and monolithic enterprise applications. It also teaches you how to perform unit and performance testing of a component that accesses a database. And it walks you through an example of each type of SQL and NoSQL database covered.

After reading this book, you’ll be able to create an application that interacts with one or multiple types of databases, and conduct unit and performance testing to analyze possible problems. Source code is available on GitHub.
👍9🔥3🤩31
Для чего нужен метод hashCode()?

Метод hashCode() необходим для вычисления хэш кода переданного в качестве входного параметра объекта. В Java это целое число, в более широком смысле - битовая строка фиксированной длины, полученная из массива произвольной длины. Этот метод реализован таким образом, что для одного и того же входного объекта, хэш код всегда будет одинаковым. Следует понимать, что в Java множество возможных хэш кодов ограничено типом int, а множество объектов ничем не ограничено. Из-за этого, вполне возможна ситуация, что хэш коды разных объектов могут совпасть:

• если хэш коды разные, то и объекты гарантированно разные;
• если хэш коды равны, то объекты могут не обязательно равны.
👍37
Forwarded from Java News
Вашему вниманию предлагается новая подборка Java-новостей от InfoQ: 😃
✔️ Стал доступен билд № 29 для JDK 20 (ранний доступ)
✔️ Стал доступен билд № 3 для JDK 21 (ранний доступ)
✔️ Вышли релизы Spring Boot 3.0.1 и Spring Boot 2.7.7
и д.р.

Приятного чтения!

Читать статью
👍9
Grokking the Java Interview (2022) True PDF, ePUB

This book contains frequently asked questions and their answer/explanations on essential Java topics. You can use this book to revise all essential Java concepts before your interview quickly, and you can also use this book to learn Core Java in depth.

Crack your Java interview by preparing important topics and mastering key concepts in a guided and structured way in a short time. Cracking a Java Interview is not easy, and one of the main reasons for that is Java is very vast. There are a lot of concepts and APIs to master to become a decent Java developer.

Many people who are good at general topics like Data Structure and Algorithms, System Design, SQL, and Databases fail to crack the Java interview because they don't spend time learning the Core Java concepts and essential APIs and packages like Java Collection Framework, Multithreading, JVM Internals, JDBC, Design Patterns, and Object-Oriented Programming.
👍211
Что такое «коллекция»?

«Коллекция»
- это структура данных, набор каких-либо объектов. Данными (объектами в наборе) могут быть числа, строки, объекты пользовательских классов и т.п.
👍31
Numerical Methods Using Kotlin: For Data Science, Analysis, and Engineering (2023) PDF, ePUB

This in-depth guide covers a wide range of topics, including chapters on linear algebra, root finding, curve fitting, differentiation and integration, solving differential equations, random numbers and simulation, a whole suite of unconstrained and constrained optimization algorithms, statistics, regression and time series analysis. The mathematical concepts behind the algorithms are clearly explained, with plenty of code examples and illustrations to help even beginners get started.

In this book, you'll implement numerical algorithms in Kotlin using NM Dev, an object-oriented and high-performance programming library for applied and industrial mathematics. Discover how Kotlin has many advantages over Java in its speed, and in some cases, ease of use. In this book, you’ll see how it can help you easily create solutions for your complex engineering and data science problems.
👍11🎉2🔥1
21 книга, которую следует прочитать Java-разработчикам в 2023 году

Приветствую всех! Если вы являетесь Java-разработчиком и задаетесь вопросом о том, что почитать в 2023 году, то вы обратились по адресу. В этой статье я собираюсь поделиться 21 книгой по Java, Spring и связанными с ними технологиями, которые стоит прочитать всем Java-разработчикам.

Читать статью
👍25🔥2🤩2😍1
Дорогие друзья! Поздравлю всех с праздником — Новым годом! Пусть задуманное обязательно сбудется, пусть работа приносит только пользу и хорошее настроение, пусть спутники будут верными, коллеги — отзывчивыми, а счастье льется через край! Новый год — прекрасное время для новых достижений, перемен и переосмысления всех планов! Так пусть все сбывается наилучшим образом! Ура! 🎄
Please open Telegram to view this post
VIEW IN TELEGRAM
🎄48🎉12👍64🍾4