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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5bbda1b17b35b6c1a55c4
加入频道
Библиотека джависта | Java, Spring, Maven, Hibernate
#вопросы_с_собеседований Что будет, если очередь пула потоков уже заполнена, но подаётся новая задача?
Если очередь пула потоков заполнилась, то поданная задача будет «отклонена». Например - метод submit() у ThreadPoolExecutor выкидывает RejectedExecutionException, после которого вызывается RejectedExecutionHandler.
#вакансии #харьков #nix #java

Команда NIX приглашает опытных разработчиков на позицию Java Tech Lead!

Мы ищем целеустремленного специалиста в проект по разработке SaaS-платформы для крупного поставщика оборудования.

Что мы ожидаем от тебя:
🔹опыт создания серверного программного обеспечения от 3-х лет;
🔹знание Spring Boot, Spring Data, CI/CD, Docker и Kubernetes, облачного провайдера AWS или Azure;
🔹понимание микросервисов и облачных архитектур;
🔹опыт взаимодействия с реляционными БД и СУБД (PostgreSQL и NoSQL);
🔹умение писать техническую документацию.

Что мы рады тебе предложить:
👉 удобное пространство в центре Харькова (метро «‎Университет»);
👉 гибкую систему пересмотра и повышения вознаграждения;
👉 постоянный профессиональный рост — участие во внутренних мероприятиях, оплачиваемые курсы английского, поездки на зарубежные IT-конференции;
👉 регулярные тимбилдинги, совместные праздники и легендарные корпоративы;
👉 медицинскую и спортивную программу, бухгалтерскую поддержку.

Отправляй свое резюме — присоединяйся к профессионалам NIX!
🎥 ТОП-10 фильмов и сериалов последних лет про современные технологии

Есть мнение, что после культовых «Хакеров», «Джони Мнемоника» и первой «Матрицы» больше не снимали хороших фильмов на околоайтишную тематику. Так ли это? Попробуем разобраться в обзоре лучших кинокартин о современных технологиях, вышедших за последние несколько лет.

https://proglib.io/sh/21yUtZI4wu
Библиотека джависта | Java, Spring, Maven, Hibernate
Если очередь пула потоков заполнилась, то поданная задача будет «отклонена». Например - метод submit() у ThreadPoolExecutor выкидывает RejectedExecutionException, после которого вызывается RejectedExecutionHandler.
Особенностью PriorityQueue является возможность управления порядком элементов. По-умолчанию, элементы сортируются с использованием «natural ordering», но это поведение может быть переопределено при помощи объекта Comparator, который задаётся при создании очереди. Данная коллекция не поддерживает null в качестве элементов.

Используя PriorityQueue, можно, например, реализовать алгоритм Дейкстры для поиска кратчайшего пути от одной вершины графа к другой. Либо для хранения объектов согласно определённого свойства.
#вопросы_с_собеседований
Каков порядок вызова конструкторов и блоков инициализации с учётом иерархии классов?
Библиотека джависта | Java, Spring, Maven, Hibernate
#вопросы_с_собеседований Каков порядок вызова конструкторов и блоков инициализации с учётом иерархии классов?
Сначала вызываются все статические блоки в очередности от первого статического блока корневого предка и выше по цепочке иерархии до статических блоков самого класса.

Затем вызываются нестатические блоки инициализации корневого предка, конструктор корневого предка и так далее вплоть до нестатических блоков и конструктора самого класса.
1 октября в Москве пройдет Russia Open Source Summit, где на одной площадке соберутся все, кто в России создает программное обеспечение на основе открытого кода.

На открытии саммита будет представлен проект стратегии развития Open Source в России. После презентации проекта всем участникам мероприятия предложат выбрать одну из рабочих групп для внесения предложений в документ.
В рамках деловой программы будет выделен отдельный трек для шоу-кейсов (питчей) от стартапов, созданных на базе открытого кода. Можно подать заявку на выступление.

Принять участие можно бесплатно, регистрация на сайте.
Мероприятие начнется в 10:00 на площадке Radisson Collection Hotel.

Подготовка стратегии ведется российским экспертным ИТ-сообществом в открытом формате, в том числе на площадке Telegram.
Что такое NFT и где они используются?

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

https://proglib.io/sh/Y07iIXqjoW
Что такое busy spin?

busy spin – это техника, которую программисты используют, чтобы заставить поток ожидать при определённом условии. В отличие от традиционных методов wait(), sleep() или yield(), которые подразумевают уступку процессорного времени, этот метод вместо уступки выполняет пустой цикл. Это необходимо для того, чтобы сохранить кэш процессора, т.к. в многоядерных системах существует вероятность, что приостановленный поток продолжит своё выполнение уже на другом ядре, а это повлечет за собой перестройку состояния процессорного кэша, которая является достаточно затратной процедурой.
#вопросы_с_собеседований
Что произойдёт, если в блоке инициализации возникнет исключительная ситуация?
Библиотека джависта | Java, Spring, Maven, Hibernate
#вопросы_с_собеседований Что произойдёт, если в блоке инициализации возникнет исключительная ситуация?
Для нестатических блоков инициализации, если выбрасывание исключения прописано явным образом требуется, чтобы объявления этих исключений были перечислены в throws всех конструкторов класса. Иначе будет ошибка компиляции. Для статического блока выбрасывание исключения в явном виде, приводит к ошибке компиляции.

В остальных случаях, взаимодействие с исключениями будет проходить так же, как и в любом другом месте. Класс не будет инициализирован, если ошибка происходит в статическом блоке и объект класса не будет создан, если ошибка возникает в нестатическом блоке.
#вопросы_с_собеседований
Что такое «индексы»? Для чего их используют? В чём заключаются их преимущества и недостатки?
Индекс (index) — объект базы данных, создаваемый с целью повышения производительности выборки данных.

Наборы данных могут иметь большое количество записей, которые хранятся в произвольном порядке, и их поиск по заданному критерию путём последовательного просмотра набора данных запись за записью может занимать много времени. Индекс формируется из значений одного или нескольких полей и указателей на соответствующие записи набора данных, - таким образом, достигается значительный прирост скорости выборки из этих данных.
#вопросы_с_собеседований
Какие разновидности сборщиков мусора реализованы в виртуальной машине HotSpot?
Java HotSpot VM предоставляет разработчикам на выбор четыре различных сборщика мусора:

☕️ Serial (последовательный) — самый простой вариант для приложений с небольшим объемом данных и не требовательных к задержкам. На данный момент используется сравнительно редко, но на слабых компьютерах может быть выбран виртуальной машиной в качестве сборщика по умолчанию. Использование Serial GC включается опцией -XX:+UseSerialGC.
☕️ Parallel (параллельный) — наследует подходы к сборке от последовательного сборщика, но добавляет параллелизм в некоторые операции, а также возможности по автоматической подстройке под требуемые параметры производительности. Параллельный сборщик включается опцией -XX:+UseParallelGC.
☕️ Concurrent Mark Sweep (CMS) — нацелен на снижение максимальных задержек путем выполнения части работ по сборке мусора параллельно с основными потоками приложения. Подходит для работы с относительно большими объемами данных в памяти. Использование CMS GC включается опцией -XX:+UseConcMarkSweepGC.
☕️ Garbage-First (G1) — создан для замены CMS, особенно в серверных приложениях, работающих на многопроцессорных серверах и оперирующих большими объемами данных. G1 включается опцией Java -XX:+UseG1GC.
Beginning Programming with Java For Dummies (2021)
Автор: Barry Burd
Количество страниц: 560

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

Скачать книгу
Справочник по блокчейну и криптовалютам. Часть 1: основные понятия и технологии

Изучить терминологию в любой сфере – задача не из легких. Поиск в интернете проблему не решает, если тема слишком сложная и запутанная. Эта шпаргалка поможет вам разобраться с основными понятиями в криптовалютном мире.

https://proglib.io/sh/3jxWVpJwaD
Sams Teach Yourself Java in 21 Days (2020)
Автор: Rogers Cadenhead
Количество страниц: 672

С помощью этого руководства вы быстро освоите основы, а затем перейдете к продвинутым особенностям и концепциям современной Java. Книга была полностью обновлена для Java 11 и 12. К тому времени, когда вы прочтете книгу, вы будете хорошо разбираться в Java и библиотеках. Предыдущий опыт программирования не требуется. Следуя 21 тщательно организованному уроку из этой книги, каждый может изучить основы программирования на Java.

Скачать книгу
#вопросы_с_собеседований
Что такое «зелёные потоки» и есть ли они в Java?
Зелёные (легковесные) потоки (green threads) — потоки, эмулируемые виртуальной машиной или средой исполнения. Создание зелёного потока не подразумевает под собой создание реального потока ОС.

Виртуальная машина Java берёт на себя заботу о переключении между разными green threads, а сама машина работает как один поток ОС. Это даёт несколько преимуществ. Потоки ОС относительно дороги в большинстве POSIX-систем. Кроме того, переключение между native threads гораздо медленнее, чем между green threads.

Это всё означает, что в некоторых ситуациях green threads гораздо выгоднее, чем native threads. Система может поддерживать гораздо большее количество green threads, чем потоков OС. Например, гораздо практичнее запускать новый green thread для нового HTTP-соединения к веб-серверу, вместо создания нового native thread.

Однако есть и недостатки. Самый большой заключается в том, что вы не можете исполнять два потока одновременно. Поскольку существует только один native thread, только он и вызывается планировщиком ОС. Даже если у вас несколько процессоров и несколько green threads, только один процессор может вызывать green thread. И всё потому, что с точки зрения планировщика заданий ОС всё это выглядит одним потоком.

Начиная с версии 1.2 Java поддерживает native threads, и с тех пор они используются по умолчанию.
#вопросы_с_собеседований
Какая разница между JSPWriter и сервлетным PrintWriter?