Библиотека джависта | Java, Spring, Maven, Hibernate
24.9K subscribers
1.86K photos
38 videos
42 files
2.64K links
Все самое полезное для Java-разработчика в одном канале.

Список наших каналов: https://yangx.top/proglibrary/9197

Обратная связь: @proglibrary_feedback_bot

По рекламе: @proglib_adv

РКН: https://gosuslugi.ru/snet/67a5bbda1b17b35b6c1a55c4
加入频道
This media is not supported in your browser
VIEW IN TELEGRAM
Приглашаем на бесплатную образовательную программу Тинькофф Финтех по направлениям: Java, Scala, Kotlin.

Занятия стартуют 8 февраля и продлятся 3 месяца. Все будет онлайн, поэтому география — вся Россия. Для поступления необходимо успешно сдать вступительные испытания. Участников программы ждет много практики, актуальных задач, интересных и обязательных к выполнению домашних заданий.

Заявки принимаем до 27 января, экзамены пройдут с 21 по 27 января. Рекомендуем не откладывать все на последний день и отправлять заявку в ближайшее время: https://fintech.tinkoff.ru/study/fintech/
Кроме того, очень важно сразу же зарегистрироваться в личном кабинете, там будут проходить экзамены: https://fintech.tinkoff.ru/sign-in
java.time.ZonedDateTime — аналог java.util.Calendar, класс с самым полным объемом информации о временном контексте в календарной системе ISO-8601. Включает временную зону, поэтому все операции с временными сдвигами этот класс проводит с её учётом.
☕️ Топ-10 книг по Java, вышедших за последние два года

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

https://proglib.io/sh/9R8tIo0ZNn
🐛 ТОП-7 признаков неопытного программиста

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

https://proglib.io/sh/CZOPJGkxfo
Метод filter() является промежуточной операцией, принимающей предикат, который фильтрует все элементы, возвращая только те, что соответствуют условию.
#вопросы_с_собеседований
Можно ли объявить метод абстрактным и статическим одновременно?
Нет. В таком случае компилятор выдаст ошибку: "Illegal combination of modifiers: ‘abstract’ and ‘static’". Модификатор abstract говорит, что метод будет реализован в другом классе, а static наоборот указывает, что этот метод будет доступен по имени класса.
#вопросы_с_собеседований
Существует ли возможность перенаправить потоки стандартного ввода/вывода?
Класс System позволяет вам перенаправлять стандартный ввод, вывод и поток вывода ошибок, используя простой вызов статического метода:

☕️ setIn(InputStream) - для ввода;
☕️ setOut(PrintStream) - для вывода;
☕️ setErr(PrintStream) - для вывода ошибок.
Кто такой DevOps-инженер и как им стать? Познакомься с востребованной IT-профессией и попробуй себя в этом направлении на бесплатном онлайн-интенсиве старшего DevOps-инженера Тимура Батыршина: 👉https://clc.am/enF-BA

⌨️ Ты научишься использовать Docker-compose и Kubernetes.
⌨️ Соберёшь контейнер с приложением.
⌨️ Узнаешь, как организовать непрерывную интеграцию и автоматически собирать новую версию приложения при обновлении исходного кода.
⌨️ Получишь практические советы эксперта и неограниченный доступ к материалам занятий.

Авторы трёх лучших проектов получат сертификаты на 30 000 рублей для обучения в онлайн-университете Skillbox!

Регистрируйся и расширяй свои знания в IT!
#вопросы_с_собеседований
Есть ли смысл определять для сервлета конструктор? Каким образом лучше инициализировать данные?
Большого смысла определять для сервлета конструктор нет, т.к. инициализировать данные лучше не в конструкторе, а переопределив метод init(), в котором имеется возможность доступа к параметрам инициализации сервлета через использование объекта ServletConfig.
Java in 24 Hours (2017)
Автор: Rogers Cadenhead
Количество страниц: 448

Программирование на Java изучить проще, чем кажется. Всего за 24 урока по часу или меньше вы можете научиться писать компьютерные программы на Java. Используя простой пошаговый подход, популярный автор Роджерс Кейденхед поможет вам овладеть навыками и технологиями, необходимыми для создания настольных и веб-программ, веб-сервисов, приложений для Android и даже модов для Minecraft на Java.

Скачать книгу
Пространство имён XML (XML namespace) - это идентифицируемая с помощью ссылки URI коллекция имен, используемых в XML документах для обозначения типов элементов и именования атрибутов. Пространство имен XML отличается от тех «пространств имен», которые обычно используются в компьютерных дисциплинах, тем, что в варианте для XML оно имеет внутреннюю структуру, и, с математической точки зрения, набором не является.

Пространства имён объявляются с помощью XML атрибута xmlns, значением которого должен быть URI и префикса, однозначно идентифицирующего пространство имён каждого элемента.

Все имена элементов в пределах пространства имён должны быть уникальны.

В общем случае пространство имён XML не требует, чтобы был определён его словарь.

XML-документ может содержать имена элементов и атрибутов из нескольких словарей XML. В каждом словаре задано своё пространство имён — так разрешается проблема неоднозначности имён элементов и атрибутов.
Thread - это класс, некоторая надстройка над физическим потоком.

Runnable - это интерфейс, представляющий абстракцию над выполняемой задачей.

Помимо того, что Runnable помогает разрешить проблему множественного наследования, несомненный плюс от его использования состоит в том, что он позволяет логически отделить логику выполнения задачи от непосредственного управления потоком.
Интерфейс java.util.Stream представляет собой последовательность элементов, над которой можно производить различные операции.

Операции над стримами бывают или промежуточными (intermediate) или конечными (terminal). Конечные операции возвращают результат определенного типа, а промежуточные операции возвращают тот же стрим. Таким образом вы можете строить цепочки из несколько операций над одним и тем же стримом.

У стрима может быть сколько угодно вызовов промежуточных операций и последним вызов конечной операции. При этом все промежуточные операции выполняются лениво и пока не будет вызвана конечная операция никаких действий на самом деле не происходит (похоже на создание объекта Thread или Runnable, без вызова start()).

Стримы создаются на основе источников каких-либо, например классов из java.util.Collection.

Ассоциативные массивы (maps), например, HashMap, не поддерживаются.

Операции над стримами могут выполняться как последовательно, так и параллельно.

Потоки не могут быть использованы повторно. Как только была вызвана какая-нибудь конечная операция, поток закрывается.

Кроме универсальных объектных существуют особые виды стримов для работы с примитивными типами данных int, long и double: IntStream, LongStream и DoubleStream. Эти примитивные стримы работают так же, как и обычные объектные, но со следующими отличиями:

☕️ используют специализированные лямбда-выражения, например, IntFunction или IntPredicate вместо Function и Predicate;
☕️ поддерживают дополнительные конечные операции sum(), average(), mapToObj().