Библиотека джависта | Java, Spring, Maven, Hibernate

Логотип телеграм канала @javaproglib — Библиотека джависта | Java, Spring, Maven, Hibernate Б
Актуальные темы из канала:
Memes
Tutorial
Event
Почитать
Гайд
Дайджест
Soft
Javadevjob
Proglib
Bust
All tags
Логотип телеграм канала @javaproglib — Библиотека джависта | Java, Spring, Maven, Hibernate
Актуальные темы из канала:
Memes
Tutorial
Event
Почитать
Гайд
Дайджест
Soft
Javadevjob
Proglib
Bust
All tags
Адрес канала: @javaproglib
Категории: Технологии
Язык: Русский
Количество подписчиков: 23.11K
Описание канала:

Все самое полезное для Java-разработчика в одном канале.
Список наших каналов: https://t.me/proglibrary/9197
Для обратной связи: @proglibrary_feeedback_bot
По рекламе: @proglib_adv
РКН: https://gosuslugi.ru/snet/67a5bbda1b17b35b6c1a55c4

Рейтинги и Отзывы

3.33

3 отзыва

Оценить канал javaproglib и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

1

4 звезд

1

3 звезд

0

2 звезд

0

1 звезд

1


Последние сообщения 13

24 апр 2023
Сжатие указателей в Java

В статье речь пойдет о реализации сжатия указателей в Java Virtual Machine 64-bit, которое контролируется опцией UseCompressedOops и включено по-умолчанию для 64 битных систем начиная с Java SE 6u23.

Смотреть статью
3.5K views20:31
Подробнее
Поделиться:
Открыть/Комментировать
24 апр 2023
Зачем нужны профили в Spring?

При разработке приложений мы обычно имеем дело с несколькими средами, такими как Dev, QA и Prod. Свойства конфигурации для этих сред отличаются.

Например, мы можем использовать встроенную базу данных H2 для Dev, но Prod может использовать проприетарную базу данных Oracle или DB2. Даже если СУБД одинакова во всех средах, URL-адреса определенно будут разными.

Чтобы сделать это простым и понятным, Spring предоставляет профили, помогающие разделить конфигурацию для каждой среды.Таким образом, вместо того, чтобы поддерживать это программно, свойства можно хранить в отдельных файлах, таких как application-dev.properties и application-prod.properties. По умолчанию application.properties указывает на текущий активный профиль с помощью spring.profiles.active, чтобы подобрать правильную конфигурацию.

Больше узнать о профилях в Spring можно по ссылке: https://www.baeldung.com/spring-profiles
3.4K views18:18
Подробнее
Поделиться:
Открыть/Комментировать
24 апр 2023
Хотите вживую увидеть процесс миграции на микросервисную архитектуру? Приходите 4 мая в 20:00 на открытый урок онлайн-курса «Microservice Architecture» в OTUS.

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

Спикером выступит Евгений Тюменцев, преподаватель OTUS и директор компании по разработке программного обеспечения.

Занятие будет полезно для тех, кому предстоит переезд на микросервисную архитектуру. На вебинаре вы сможете еще раз взвесить все плюсы и минусы перед переходом.

Для регистрации пройдите вступительный тест — https://otus.pw/xR7n/

Если вам понравятся открытые уроки, продолжить обучение можно будет уже на курсе «Microservice Architecture» от OTUS. Оплата курса возможна в рассрочку.

Реклама. Информация о рекламодателе на сайте
www.otus.ru
3.2K views15:00
Подробнее
Поделиться:
Открыть/Комментировать
23 апр 2023
#вопросы_с_собеседований
Каковы ограничения для полей и методов интерфейса?

Интерфейс может объявлять поля, но они неявно объявляются как public, static и final, даже если вы не указываете эти модификаторы. Следовательно, вы не можете явно определить поле интерфейса как приватное. По сути, интерфейс может иметь только поля-константы, а не поля-экземпляры.

Все методы интерфейса также неявно объявлены public. Они также могут быть (неявно) abstract или default.
2.1K views19:26
Подробнее
Поделиться:
Открыть/Комментировать
23 апр 2023
#вопросы_с_собеседований
Что произойдет с объектом Exception после обработки исключения?

Объект-исключение будет удален при следующей сборке мусора.
2.5K views16:04
Подробнее
Поделиться:
Открыть/Комментировать
23 апр 2023
Всем привет) Если вам хочется немного расширить свой кругозор или просто скучно воскресным днём, подписывайтесь на канал в Telegram создателя этого канала: там все про релокацию и жизнь в условиях постоянно меняющегося мира.

Подписывайтесь: https://t.me/+OVwYUa9GRvg5Zjli
2.9K views10:23
Подробнее
Поделиться:
Открыть/Комментировать
23 апр 2023
Почему я чуть не запорол свою карьеру тимлида. 4 совета начинающим

https://habr.com/ru/articles/730584/
3.0K views06:19
Подробнее
Поделиться:
Открыть/Комментировать
22 апр 2023
Построение графиков в Java

Данный видеоролик познакомит вас с основами построения графиков на языке Java

Смотреть видео
3.1K views18:57
Подробнее
Поделиться:
Открыть/Комментировать
22 апр 2023
Метод Collections.shuffle

Метод shuffle() случайным образом перемешивает все элементы переданного списка.
3.1K views16:02
Подробнее
Поделиться:
Открыть/Комментировать
22 апр 2023
Пройдите тест по Kotlin и проверь свои знания.

Ответишь
— пройдешь на продвинутый курс "Kotlin Backend Developer" от OTUS по специальной цене.

ПРОЙТИ ТЕСТ — https://otus.pw/df39/

Сможете пройти успешно тест — бонусом получите курс по GIT в записи бесплатно + доступ к 2 открытым урокам курса!

Реклама. Информация о рекламодателе на сайте www.otus.ru
1.2K views09:02
Подробнее
Поделиться:
Открыть/Комментировать
21 апр 2023
Небольшая задачка

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

Решение на картинке.
2.3K views20:47
Подробнее
Поделиться:
Открыть/Комментировать
21 апр 2023
План подготовки к собеседованию на позицию Java разработчика

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

Смотреть статью
2.6K views19:11
Подробнее
Поделиться:
Открыть/Комментировать
20 апр 2023
#вопросы_с_собеседований
Java передает аргументы по значению или по ссылке?

Java всегда передает аргументы по значению (pass-by-value). Тем не менее, когда мы передаем значение объекта, мы передаем ссылку на него, потому что переменные хранят ссылку на объект, а не сам объект. Но это не передача по ссылке (pass-by-reference). Такое положение дел может быть не совсем понятно новичкам.
2.5K views20:33
Подробнее
Поделиться:
Открыть/Комментировать
20 апр 2023
Краткая шпаргалка по паттернам проектирования
3.4K views19:02
Подробнее
Поделиться:
Открыть/Комментировать
20 апр 2023
Думаете начать заниматься backend разработкой с использованием Java?

Добро пожаловать на авторский канал JavaStart для начинающих!

Здесь вы найдете много полезной информации не только по Java, но и про backend технологии.

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

Переходите по ссылке и подписывайтесь
https://t.me/JavaStartTech
3.3K views15:00
Подробнее
Поделиться:
Открыть/Комментировать
19 апр 2023
Тест: насколько хорошо вы знаете Git?

Независимо от того, новичок вы или опытный пользователь, этот тест проверит ваши знания фундаментальных концепций и передовых методов Git.

Основной сайт
Зеркало
1.3K views20:27
Подробнее
Поделиться:
Открыть/Комментировать
19 апр 2023
#вопросы_с_собеседований
К каким переменным есть доступ у лямбда-выражений?

Если кто-то забыл, как работают лямбды, пример на картинке.
Доступ к переменным внешней области действия из лямбда-выражения очень схож к доступу из анонимных объектов. Можно ссылаться на:

неизменяемые (effectively final - не обязательно помеченные как final) локальные переменные;
поля класса;
статические переменные.

К методам по умолчанию реализуемого функционального интерфейса обращаться внутри лямбда-выражения запрещено.
2.1K views18:02
Подробнее
Поделиться:
Открыть/Комментировать
19 апр 2023
#вопросы_с_собеседований
Что такое пакет? Перечислите различные преимущества пакетов.

Пакеты — это набор связанных классов и интерфейсов, которые связаны вместе. Используя пакеты, разработчики могут легко модулировать код и оптимизировать его повторное использование. Кроме того, код внутри пакетов может быть импортирован другими классами и использован повторно. Несколько его преимуществ:
• Пакеты на Java помогают избежать конфликтов имен.
• Они обеспечивают более легкий контроль доступа к коду.
• Пакеты также могут содержать скрытые классы, которые не видны внешним классам и используются только внутри пакета..
• Создает правильную иерархическую структуру, которая упрощает поиск связанных классов.
2.6K views14:21
Подробнее
Поделиться:
Открыть/Комментировать
18 апр 2023
Проблема квадрата/прямоугольника, объяснение и решение

В ролике о принципе подстановки Барбары Лисков я привёл в качестве примера его нарушения проблему квадрата/прямоугольника, но не предложил способов её решения. В этом ролике я ещё раз рассказываю об этой проблеме и предлагаю решение.



2.1K views19:37
Подробнее
Поделиться:
Открыть/Комментировать
18 апр 2023
Как написать игру «Game Of Life» на Clojure? Узнайте на бесплатном вебинаре в OTUS: https://otus.pw/qRx0/

Занятие приурочено к старту онлайн-курса «Clojure Developer».

На вебинаре мы:
— Узнаем, как реализовать на Clojure классическую задачу Computer Science — Game of Life.
— Обсудим разные способы визуализации работы алгоритма.
— Рассмотрим, как представить состояние игры с помощью персистентных структур данных и вести разработку интерактивно через REPL.

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

ПРОЙТИ ПОЛНЫЙ ТЕСТ ПО CLOJURE: https://otus.pw/oqvh/

Нативная интеграция. Информация о продукте www.otus.ru
2.6K views16:37
Подробнее
Поделиться:
Открыть/Комментировать
18 апр 2023
Проверяем наличие дубликатов в массиве в Java

Мы можем работать лучше, используя Хеширование. Идея состоит в том, чтобы пройти по заданному массиву и вставить каждый встреченный элемент в HashSet. Теперь, если встреченный элемент уже присутствовал в наборе, он является дубликатом. Временная сложность этого решения O(n) но вспомогательное пространство используется O(n).

Мы знаем это HashSet не допускает дублирования значений в нем. Мы можем использовать это свойство для проверки дубликатов в массиве. Идея состоит в том, чтобы вставить все элементы массива в HashSet. Теперь массив содержит дубликат, если длина массива не равна размеру набора.

Другие способы проверить массив на дубликаты можно найти здесь.
2.8K views14:05
Подробнее
Поделиться:
Открыть/Комментировать
17 апр 2023
Чем отличаются и что общего у InputStream, OutputStream, Reader, Writer?

InputStream и его наследники нужны для получения байтовых данных из разных источников
OutputStream и его наследники — набор классов, определяющих потоковый байтовый вывод
Writer и его наследники определяют потоковый вывод символов в юникоде
Reader и его наследники определяют потоковый ввод символов в юникоде
2.3K views20:54
Подробнее
Поделиться:
Открыть/Комментировать
17 апр 2023
Сколько переходов происходит в момент вызова HashMap.get(key) по ключу, который есть в таблице?

• ключ равен null: 1 - выполняется единственный метод getForNullKey().
• любой ключ отличный от null: 4 - вычисление хэш-кода ключа; определение номера корзины; поиск значения; возврат значения.
2.5K views20:04
Подробнее
Поделиться:
Открыть/Комментировать
16 апр 2023
#вопросы_с_собеседований
Сколько объектов типа String создает эта программа?

Ответ:
Программа создаст два string-объекта. Когда мы создаем строку, используя оператор new, она сначала создастся в Java String Pool и только потом в куче (heap memory). Но только при условии, что этой строки ещё нет в пуле Java String.
541 views19:32
Подробнее
Поделиться:
Открыть/Комментировать
16 апр 2023
#вопросы_с_собеседований
Что выведет эта программа?

Ответ:
Программа напечатает “num1 == num2”. Если мы сравниваем две ссылки на объекты с помощью ==, значение всегда будет «false». Но в этом примере переменные num1 и num2 автоупаковываются (autoboxing) из-за Integer-кэширования. Вот почему num1 == num2 возвращает значение «true». Не забудьте, что Integer-кэширование актуально только для значений от -128 до 127.
1.3K views18:22
Подробнее
Поделиться:
Открыть/Комментировать
15 апр 2023
Класс FileWriter

Наследуется от класса OutputStreamWriter, используется для записи потоков символов. Код на картинке создает файл с разрешением .txt и записывает в него текст, а после с помощью FileReader читает его из файла.

Класс имеет несколько конструкторов, а также список вспомогательных методов, которые можно использовать для управления файлами. Больше информации о методах класса есть в документации.
1.3K views18:08
Подробнее
Поделиться:
Открыть/Комментировать
15 апр 2023
#вопросы_с_собеседований
Объясните разницу между Linkedlist и Arraylist.

ArrayList
— это реализация интерфейса List, основанная на массиве. ArrayList внутренне обрабатывает изменение размера этого массива при добавлении или удалении элементов. Вы можете получить доступ к его элементам за константное время по их индексу в массиве. Однако вставка или удаление элемента подразумевает сдвиг всех последующих элементов, что может быть медленным, если массив огромен, а вставленный или удаленный элемент находится близко к началу списка.

LinkedList — это двусвязный список: отдельные элементы помещаются в объекты Node (узел), которые имеют ссылки на предыдущий и следующий Node. Эта реализация может оказаться более эффективной, чем ArrayList, если у вас много вставок или удалений в разных частях списка, особенно если список большой.

Однако в большинстве случаев ArrayList превосходит LinkedList. Даже перемещение элементов в ArrayList, хотя и является операцией O(n), реализовано в виде очень быстрого вызова System.arraycopy(). Это может даже оказаться быстрее, чем O(1) вставка в LinkedList, которая требует создания экземпляра объекта Node и обновления нескольких ссылок под капотом. LinkedList также может иметь большие накладные расходы памяти из-за создания нескольких небольших Node объектов.
2.0K views14:50
Подробнее
Поделиться:
Открыть/Комментировать
14 апр 2023
#вопросы_с_собеседований
Предположим, у нас есть циклическая ссылка — два объекта, которые ссылаются друг на друга. Может ли такая пара объектов стать подходящей для сборки мусора и почему?

Да, пара объектов с циклической ссылкой может стать подходящей для сборки мусора. Это связано с тем, как сборщик мусора Java обрабатывает циклические ссылки. Он считает объекты живыми не тогда, когда на них есть какая-либо ссылка, а когда они достижимы при навигации по графу объектов, начиная с некоторого корня сборки мусора (локальная переменная живого потока или статическое поле). Если пара объектов с циклической ссылкой недоступна ни из одного корня, считается, что она подходит для сборки мусора.
1.6K views18:30
Подробнее
Поделиться:
Открыть/Комментировать
14 апр 2023
#вопросы_с_собеседований
Что такое JSON схема?

JSON Schema — один из языков описания структуры JSON-документа, используя синтаксис JSON.

Это самоописательный язык: при его использовании для обработки данных и описания их допустимости могут использоваться одни и те же инструменты сериализации/десериализации.
2.4K views13:13
Подробнее
Поделиться:
Открыть/Комментировать
13 апр 2023
Пустая коллекция вместо Null

Если ваша программа может вернуть коллекцию, которая не содержит никаких значений, убедитесь, что возвращается пустая коллекция, а не Null. Это сэкономит вам время на различные проверки и избавит от многих ошибок.
3.1K views15:00
Подробнее
Поделиться:
Открыть/Комментировать