bookjava | Unsorted

Telegram-канал bookjava - Библиотека Java разработчика

10986

📚 Лайфхаки, приёмы и лучшие практики для Java-разработчиков. Всё, что ускорит код и прокачает навыки. Java, Spring, Maven, Hibernate. По всем вопросам @evgenycarter РКН clck.ru/3KoGeP

Subscribe to a channel

Библиотека Java разработчика

Курс «Python-разработчик» от Яндекса. Начните с нуля.

Программа 2023 года.
Диплом о переподготовке и помощь с поиском работы.
Рассрочка.

Зарегистрироваться

#реклама 16+
practicum.yandex.ru

О рекламодателе

Читать полностью…

Библиотека Java разработчика

🔥 Проверьте, готовы ли вы изучить Apache Kafka?

Ответьте на 10 вопросов за 15 минут онлайн-курса «Apache Kafka» и узнайте, готовы ли вы к обучению в OTUS.

🟢 Пройти тестирование

➡️ В случае успешного прохождения вас ждут подарки – доступ к 3 открытым урокам для знакомства с форматом обучения и специальная цена на курс.

— «ksqlDB - анализируем потоки на SQL»
— «Kafka Streams»
— «Место Kafka в событийно-ориентированных системах»

💪 За 3 месяца обучения вы полностью освоите платформу Apache Kafka, а также научитесь работать с потоками на SQL (ksqlDB), познакомитесь со Schema Registry и освоите REST API.

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Читать полностью…

Библиотека Java разработчика

Кредитная карта Тинькофф с лимитом до 1 000 000 рублей!

Бесплатные переводы до 50 000 ₽ на карты других банков без подписки Tinkoff Pro и до 100 000 ₽ с подпиской. Рассрочка на покупки в любых магазинах. Лимит до 1 000 000 ₽. 120 дней без %. Кэшбэк до 30% бонусами за покупки у партнеров Тинькофф. Решение за 2 минуты. Доставим карту на дом!

Подать заявку

#реклама
tinkoff.ru

О рекламодателе

Читать полностью…

Библиотека Java разработчика

Освойте графический дизайн с нуля в Contented

Contented — крупнейшая профильная онлайн-школа дизайна
по версии Smart Ranking 2023.

На курсе вы научитесь создавать визуал для брендов под руководством
экспертов, которые работали с Adidas, ИКЕА, Яндексом и Сoca-Cola.

80% программы — практика. Вы отточите знания и навыки на
реальных задачах крупных компаний.

К концу обучения соберете
сильное портфолио из 18 кейсов, которое выделит вас на рынке
среди соискателей.


Подать заявку

#реклама
contented.ru

О рекламодателе

Читать полностью…

Библиотека Java разработчика

Курс «Графический дизайнер» от Яндекса

За 9 месяцев вы освоите граф. дизайн и соберете портфолио из нескольких проектов!


Попробовать

#реклама 16+
practicum.yandex.ru

О рекламодателе

Читать полностью…

Библиотека Java разработчика

Elasticsearch - пишем свой поисковик на Java

00:00 Знакомство с автором
00:37 План вебинара
1:28 Изучение Java разработки на ITVDN
1:47 Задачи полнотекстового поиска
4:05 Поисковой движок Elasticsearch
7:45 Структура приложения
10:20 Установка и запуск Elasticsearch
13:28 Настройка в Postman
15:50 Обзор проекта в Elasticsearch
17:37 Создание индексов, поиск по индексу, поиск по нескольким полям
33:13 Поиск в найденном
40:30 Агрегация результатов поиска, поиск запросов с опечатками
46:38 Ранжирование результатов
51:23 Настройка форматирования результатов
55:52 Пагинация
1:05:30 Асинхронные вызовы, продвинутые возможности
1:17:00 Заключение

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

👉@BookJava

Читать полностью…

Библиотека Java разработчика

Чем отличается Lambda от анонимного класса?

Хотя в некоторых случаях они и могут быть использованы взаимозаменяемо, Lambda-выражения и анонимные классы имеют различия.

Разберем основные из них:

1. Синтаксис: Lambda-выражения имеют более краткий и лаконичный синтаксис по сравнению с анонимными классами.

2. Область применения: Lambda-выражения могут быть использованы только для функциональных интерфейсов, в то время как анонимные классы могут быть использованы для любых интерфейсов и абстрактных классов.

3. Ключевое слово this: В анонимных классах ключевое слово this ссылается на сам анонимный класс, в то время как в lambda-выражениях this ссылается на объемлющий.

4. Производительность: Lambda-выражения обычно имеют лучшую производительность по сравнению с анонимными классами, так как они компилируются в приватные методы и используют инструкцию invokedynamic.

👉@BookJava

Читать полностью…

Библиотека Java разработчика

Что стоит знать о Java-конференции Joker, которая пройдёт уже скоро?

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

В программе всё полезное Java-разработчикам: от архитектуры до производительности, от нововведений Java 21 до идиоматичного Kotlin.

Прочитать описания всех докладов уже можно на сайте.

При посещении за свой счет работает промокод BOOKJAVA. Если вы покупаете билет себе сами, то переходите по этой ссылке.

Если билет вам покупает работодатель, то пришлите ему эту ссылку.

Реклама, ООО «Джуг Ру Груп», ИНН 7801341446, erid 2RanykksUZN

Читать полностью…

Библиотека Java разработчика

Вся правда о массивах | структуры данных

00:00 Введение
02:10 Массивы
05:10 Поиск в массиве
05:42 Вставка в массив
06:54 Удаление из массива
08:40 Связанные списки
09:44 Вставка в связанный список
11:10 Поиск + вставка в середину связанного списка
11:56 Удаление из связанного списка

источник

👉@BookJava

Читать полностью…

Библиотека Java разработчика

Pro RESTful APIs with Micronaut: Build Java-Based Microservices with REST, JSON, and XML
Автор: Sanjay Patni (2023)

Откройте для себя технологии RESTful, включая REST, JSON, XML, веб-сервисы JAX-RS, SOAP и другие, для создания современных микросервисов на Java, приложений больших данных и приложений веб-сервисов с использованием фреймворка Micronaut.

Скачать

👉 @java_360

Читать полностью…

Библиотека Java разработчика

The Java Workshop - A practical, no-nonsense guide to Java
David Cuartielles, Andreas Göransson, Eric Foster-Johnson (2019)

Чему вы научитесь:
* Освоите фундаментальные концепции языка Java.
* Писать чистый и хорошо комментированный код, который легко поддерживать.
* Создавать Java-проект с помощью JAR-файлов и узнаете о таких инструментах, как Maven и Gradle.
* Отлаживать и компилировать логические ошибки и обрабатывать исключения в своих программах.
* Узнайте, как использовать библиотеки сторонних разработчиков и наборы средств разработки программного обеспечения (SDK)
* Используйте Java Database Connectivity (JDBC) для работы с информацией, хранящейся в базах данных.
* Понять, как обеспечить безопасность данных с помощью криптографии и шифрования.
* Узнайте, как избежать ошибок в процессе разработки с помощью модульного тестирования.

👉@BookJava

Читать полностью…

Библиотека Java разработчика

Пишем плагин для IntelliJ IDEA. Ускоряем написание тестов на DTO


В Java я недавно. Работаю Java-разработчиком около года при общем 10-летнем стаже в АльфаСтрахование. Этому году предшествовали годы разработки на ABAP и полгода обучения на Javarush.

https://habr.com/ru/company/alfastrah/blog/706314/

👉@BookJava

Читать полностью…

Библиотека Java разработчика

Расскажите про приведение типов. Что такое понижение и повышение типа?

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

В Java существуют несколько разновидностей приведения:

• Тождественное (identity). Преобразование выражения любого типа к точно такому же типу всегда допустимо и происходит автоматически.
• Расширение (повышение, upcasting) примитивного типа (widening primitive). Означает, что осуществляется переход от менее емкого типа к более ёмкому. Например, от типа byte (длина 1 байт) к типу int (длина 4 байта). Такие преобразование безопасны в том смысле, что новый тип всегда гарантировано вмещает в себя все данные, которые хранились в старом типе и таким образом не происходит потери данных. Этот тип приведения всегда допустим и происходит автоматически.
• Сужение (понижение, downcasting) примитивного типа (narrowing primitive). Означает, что переход осуществляется от более емкого типа к менее емкому. При таком преобразовании есть риск потерять данные. Например, если число типа int было больше 127, то при приведении его к byte значения битов старше восьмого будут потеряны. В Java такое преобразование должно совершаться явным образом, при этом все старшие биты, не умещающиеся в новом типе, просто отбрасываются - никакого округления или других действий для получения более корректного результата не производится.
• Расширение объектного типа (widening reference). Означает неявное восходящее приведение типов или переход от более конкретного типа к менее конкретному, т.е. переход от потомка к предку. Разрешено всегда и происходит автоматически.
• Сужение объектного типа (narrowing reference). Означает нисходящее приведение, то есть приведение от предка к потомку (подтипу). Возможно только если исходная переменная является подтипом приводимого типа. При несоответствии типов в момент выполнения выбрасывается исключение ClassCastException. Требует явного указания типа.
• Преобразование к строке (to String). Любой тип может быть приведен к строке, т.е. к экземпляру класса String.
• Запрещенные преобразования (forbidden). Не все приведения между произвольными типами допустимы. Например, к запрещенным преобразованиям относятся приведения от любого ссылочного типа к примитивному и наоборот (кроме преобразования к строке). Кроме того, невозможно привести друг к другу классы, находящиеся на разных ветвях дерева наследования и т.п.

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

Для проверки возможности приведения нужно воспользоваться оператором instanceof:

Parent parent = new Child();
if (parent instanceof Child) {
Child child = (Child) parent;
}

👉@BookJava

Читать полностью…

Библиотека Java разработчика

Курс «Профессия Менеджер проектов» - Skillbox

Станьте специалистом по управлению проектами. Оставьте заявку и мы откроем доступ к первым 2 модулям курса бесплатно!

Перейти на сайт

#реклама 16+
skillbox.ru

О рекламодателе

Читать полностью…

Библиотека Java разработчика

Ответ на 1 вопрос - Яндекс Музыка всю осень за 1₽ ваша!

Яндекс Музыка для вас и 3-х ваших близких до конца осени за 1₽. Попробуйте сейчас!

Попробовать

#реклама 16+
mrqz.me

О рекламодателе

Читать полностью…

Библиотека Java разработчика

Аннотации и рефлексия в Java

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

https://habr.com/ru/companies/otus/articles/764244/

👉@BookJava

Читать полностью…

Библиотека Java разработчика

Категоризированный список всех возможностей Java и JVM с JDK 8 по 21

С момента выхода версии 8 и до версии 21 в Java было выпущено 232 JDK Enhancement Proposals (JEPs) и множество более мелких обновлений, каждое из которых привносит те или иные улучшения в платформу. Эта страница представляет собой категоризированный и курируемый список наиболее важных улучшений.

https://advancedweb.hu/a-categorized-list-of-all-java-and-jvm-features-since-jdk-8-to-21/

👉@BookJava

Читать полностью…

Библиотека Java разработчика

В чем разница между Thread.sleep() и Thread.yield()?

Thread.sleep(): этот метод приостанавливает выполнение текущего потока на заданное количество времени. Время задается в миллисекундах и указывается в качестве аргумента метода. При вызове Thread.sleep() поток переходит в состояние ожидания и не выполняет код в течение указанного периода времени. После истечения времени поток снова становится готовым к выполнению. Вызов Thread.sleep() может сгенерировать исключение InterruptedException, поэтому необходимо обрабатывать его или пробрасывать.

Thread.yield(): этот метод предоставляет намек планировщику потоков на то, что поток, вызвавший yield(), готов уступить процессорное время другим потокам с тем же приоритетом. Однако это рекомендация, а не гарантия. Вызов Thread.yield() приводит к тому, что текущий поток переходит из исполняемого в состояние готовности, чтобы другие потоки могли получить доступ к процессору. Однако, если нет других готовых потоков с тем же приоритетом, поток может продолжить выполнение.

👉@BookJava

Читать полностью…

Библиотека Java разработчика

Top Core Java Interview Questions for Freshers and Experienced

https://www.edureka.co/blog/interview-questions/java-interview-questions/

👉@BookJava

Читать полностью…

Библиотека Java разработчика

Дженерики в Java и их реализация

В программировании на Java в J2SE 5 для работы с типобезопасными объектами были введены языковые дженерики. Они выявляют ошибки на этапе компиляции, благодаря чему код становится стабильным. До введения дженериков в коллекции можно было хранить объекты любого типа. Теперь, после введения дженериков в язык программирования Java, программисты вынуждены хранить определенные типы объектов.

https://dzone.com/articles/generics-in-java-and-their-implementation

👉@BookJava

Читать полностью…

Библиотека Java разработчика

🤝Язык Kotlin - лучший друг Java-разработчиков.

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

В OTUS идет набор в группу курса “Kotlin Backend Developer Professional”.

🔥На нем вы научитесь:

- использовать Kotlin для разработки серверных приложений;
- применять асинхронное и многопоточное программирование с корутинами;
- использовать Kotlin совместно с различными фреймворками;
- строить хранилища на базе SQL, NoSQL и NewSQL;
- писать приложения с монолитной, микросервисной и бессерверной архитектурами.

Начните с проверки своих знаний и пройдите вступительное тестирование!

❗️Если пройдете тест успешно - получите доступ к топовым урокам курса и спец. условия при поступлении в группу.

ПРОЙТИ ТЕСТ

Легендой курса является разработка стартапа. В рамках легенды обсуждается реализация экстремальных проектов, в которых сочетаются высокая неопределенность и жесткие ограничения по времени и ресурсам. При покупке курса возможна рассрочка платежа. Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Читать полностью…

Библиотека Java разработчика

Как создавать отзывчивые веб-приложения с помощью Spring Boot и React: Пошаговое руководство

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

https://reflectoring.io/build-responsive-web-apps-with-springboot-and-react-tutorial/

👉@BookJava

Читать полностью…

Библиотека Java разработчика

new vs valueOf

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

Все оболочки, кроме чисел с плавающей точкой, от Byte до Long, имеют кэш. По умолчанию этот кэш содержит значения от -128 до 127. Следовательно, если ваше значение попадает в этот диапазон, то значение вернется из кэша. Значение из кэша достается в 3.5 раза быстрее, чем при использовании конструктора, плюс идёт экономия памяти.

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

👉@BookJava

Читать полностью…

Библиотека Java разработчика

🔥 Переходи на новый уровень в Java и разнообразь свою работу!

Пройди тест по Java и проверь как хорошо ты знаешь язык.

Ответишь — пройдешь на продвинутый курс «Java Developer. Professional» от OTUS по специальной цене + получишь масстер-класс от преподавателя

👉 ПРОЙТИ ТЕСТИРОВАНИЕ

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Читать полностью…

Библиотека Java разработчика

Дайте крудошлепа

Я устроился в небольшую компанию, которая сделал круд‑приложуху на 20 таблиц типа «заметки» и активно ее продавала госорганам за невменяемый бабос.

У нас был 3(три) Т‑Р-И статуса юзера. Anonym→Logined→Phone_Confirmed. Молодой талант до меня увидел в этом граф, и написал класс на 200+ строк, реализующий алгоритм Флойда‑Уоршелла, прикрутил стейт‑машину и не найдя интересных задач, c блеском прошел собес в Яндекс и свалил.

Меня наняли сеньором, и я каюсь ничерта не понял, алгоритм прекрасно работал на первой ступени, на второй давал сбои, тоскливо погуглил этот алгоритм, стер все к черту и написал: if(status==Logined & phone!=null){status=Phone_Confirmed}.

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

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

👉@BookJava

Читать полностью…

Библиотека Java разработчика

Курс «DevOps для эксплуатации и разработки» от Яндекса

За 6 месяцев обучения освоите принципы DevOps и автоматизацию процесса разработки.

Зарегистрироваться

#реклама 16+
practicum.yandex.ru

О рекламодателе

Читать полностью…

Библиотека Java разработчика

♨️ Тест на знание языка Java

— Ответьте на 21 вопрос и проверьте, насколько хорошо вы знаете язык Java и готовы освоить Spring. Сможете сдать — пройдёте на продвинутый онлайн-курс "Разработчик на Spring" Framework со скидкой!

👉 ПРОЙТИ ТЕСТ ОНЛАЙН-КУРСА "Разработчик на Spring Framework"

Курс доступен в рассрочку.

🎁 Пройдете успешно тест, получите доступ к открытым урокам курса.

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Читать полностью…

Библиотека Java разработчика

Что такое synchronized?

Можно применять как модификатор метода, и как самостоятельный оператор с блоком кода. Выполняет код при захваченном мониторе объекта. В виде оператора объект указывается явно. В виде модификатора нестатического метода используется this, статического – .class текущего класса.

Один из основных инструментов обеспечения потокобезопасности. Одновременно выполняется не более одного блока synchronized на одном и том же объекте. Такая блокировка называется intrinsic lock или monitor lock, подробно рассматривается в Java Concurrency in Practice 2.3.1.

Блок synchronized также необходим для использования методов wait, notify, notifyAll.

👉@BookJava

Читать полностью…

Библиотека Java разработчика

Инструментация байт-кода Java

В рамках текущей статьи будет рассказано о способах инструментации байт-кода java или, другим языком, внесения изменений в компилированные файлы java .class. Здесь будут приведены примеры работы с фреймворками Javaassist и ASM и базовое описание байт-кода.

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

👉@BookJava

Читать полностью…

Библиотека Java разработчика

Какая разница между абстрактным классом и интерфейсом?

Абстрактный класс:
• абстрактные классы имеют дефолтный конструктор; он вызывается каждый раз, когда создается потомок этого абстрактного класса;
• содержит как абстрактные методы, так и не абстрактные. По большому счету может и не содержать абстрактных методов, но все равно быть абстрактным классом;
• класс, который наследуется от абстрактного, должен реализовать только абстрактные методы;
• абстрактный класс может содержать Instance Variable

Интерфейс:
• не имеет никакого конструктора и не может быть инициализирован;
• только абстрактные методы должны быть добавлены (не считая default methods);
• классы, реализующие интерфейс, должны реализовать все методы (не считая default methods);
• интерфейсы могут содержать только константы.

👉@BookJava

Читать полностью…
Subscribe to a channel