Библиотека джависта | 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.

https://proglib.io/w/40f61152
Dependency Injection (внедрение зависимости) — это набор паттернов и принципов разработки программного обеспечения, которые позволяют писать слабосвязный код. В полном соответствии с принципом единой обязанности объект отдаёт заботу о построении требуемых ему зависимостей внешнему, специально предназначенному для этого общему механизму.
Принципы обработки тысяч соединений в Java

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

https://proglib.io/w/d036d3c9
В LinkedList нет элемента, поэтому он возвращает исключение NoSuchElementException. NoSuchElementException унаследовано от RuntimeException.
Что такое «зелёные потоки» и есть ли они в 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, и с тех пор они используются по умолчанию.
В приведенном примере есть синтаксическая ошибка в цикле do-while, так как в нем нет фигурных скобок и выражений.
#вопросы_с_собеседований
Кто кого расширяет: Queue расширяет Deque, или Deque расширяет Queue?
Queue - это очередь, которая обычно (но не обязательно) строится по принципу FIFO (First-In-First-Out) - соответственно извлечение элемента осуществляется с начала очереди, вставка элемента - в конец очереди. Хотя этот принцип нарушает, к примеру, PriorityQueue, использующая «natural ordering» или переданный Comparator при вставке нового элемента.

Deque (Double Ended Queue) расширяет Queue и, согласно документации, это линейная коллекция, поддерживающая вставку/извлечение элементов с обоих концов. Помимо этого реализации интерфейса Deque могут строится по принципу FIFO, либо LIFO.

Реализации и Deque, и Queue обычно не переопределяют методы equals() и hashCode(), вместо этого используются унаследованные методы класса Object, основанные на сравнении ссылок.
Как и в C++, когда функция статическая, нет runtime-полиморфизма.
#вопросы_с_собеседований
В чем заключаются преимущества и недостатки объектно-ориентированного подхода в программировании?
Хочешь стать Java экспертом? Подписывайся на канал @java_fillthegaps

статьи по Java и её экосистеме
паттерны и принципы разработки
прохождение собеседований и карьерный рост

Посты, обязательные к прочтению:
▪️JDK, JRE, JVM, JIT и Java 11.
▪️Полный гайд по сравнению переменных.
▪️Принцип подстановки Барбары Лисков: теория и практика.
▪️Сборщики мусора. Плюсы и минусы G1.

Подписывайся: @java_fillthegaps
Уроки по регулярным выражениям в Java.

https://proglib.io/w/981e79b3