Библиотека джависта | 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
加入频道
Библиотека джависта | Java, Spring, Maven, Hibernate pinned «#вакансия #java #lead #senior #финтех #удаленка #офис #москва Позиция - техлид Java З/П: до 250к Формат работы: #fulltime, #удаленка #офис Компания: WalletOne Всем привет! Меня зовут Александр - я руковожу проектным департаментом в WalletOne (финтех). …»
Библиотека джависта | Java, Spring, Maven, Hibernate via @CommentsBot
#вопросы_с_собеседований 1. Как перебрать все ключи Map? 2. Как перебрать все значения Map?
1. Использовать метод keySet(), который возвращает множество Set<K> ключей.

2. Использовать метод values(), который возвращает коллекцию Collection<V> значений.
Статические методы интерфейса похожи на методы по умолчанию, за исключением того, что для них отсутствует возможность переопределения в классах, реализующих интерфейс.

☕️ Статические методы в интерфейсе являются частью интерфейса без возможности использовать их для объектов класса реализации;
☕️ Методы класса java.lang.Object нельзя переопределить как статические;
☕️ Статические методы в интерфейсе используются для обеспечения вспомогательных методов, например, проверки на null, сортировки коллекций и т.д.
#вопросы_с_собеседований
Какой оператор позволяет принудительно выбросить исключение?
Это оператор throw:

throw new Exception();
Метод yield() служит причиной того, что поток переходит из состояния работающий (running) в состояние работоспособный (runnable), давая возможность другим потокам активизироваться. Но следующий выбранный для запуска поток может и не быть другим.

Метод sleep() вызывает засыпание текущего потока на заданное время, состояние изменяется с работающий (running) на ожидающий (waiting).
#вопросы_с_собеседований
Чем интеграционное тестирование отличается от модульного?
С технологической точки зрения интеграционное тестирование является количественным развитием модульного, поскольку так же, как и модульное тестирование, оперирует интерфейсами модулей и подсистем и требует создания тестового окружения, включая заглушки на месте отсутствующих модулей. Основная разница между модульным и интеграционным тестированием состоит в целях, то есть в типах обнаруживаемых дефектов, которые, в свою очередь, определяют стратегию выбора входных данных и методов анализа.

Допустим, есть класс, который при определенных условиях взаимодействует с web-сервисом через зависимый объект. И нам надо проверить, что определенный метод зависимого объекта действительно вызывается. Если в качестве зависимого класса передать:
☕️ реальный класс, работающий с web-сервисом, то это будет интеграционное тестирование.
☕️ заглушку, то это будет тестирование состояния.
☕️ шпиона, а в конце теста проверить, что определенный метод зависимого объекта действительно был вызван, то это будет тест взаимодействия.
Бесплатный webinar по docker'у. Обсудим:
- как задизайнить и развернуть в докере систему из БД и java микросервисов
- какие вопросы могут задать по докеру на собеседовании
- как упомянуть docker во время собеседования и получить оффер не отходя от ZOOM 😉

Присоединяйся
SQL, Structured query language («язык структурированных запросов») — формальный непроцедурный язык программирования, применяемый для создания, модификации и управления данными в произвольной реляционной базе данных, управляемой соответствующей системой управления базами данных (СУБД).
☕️ ListIterator расширяет интерфейс Iterator;
☕️ ListIterator может быть использован только для перебора элементов коллекции List;
☕️ Iterator позволяет перебирать элементы только в одном направлении при помощи метода next(). Тогда как ListIterator позволяет перебирать список в обоих направлениях, при помощи методов next() и previous();
☕️ ListIterator не указывает на конкретный элемент: его текущая позиция располагается между элементами, которые возвращают методы previous() и next().
☕️ При помощи ListIterator вы можете модифицировать список, добавляя/удаляя элементы с помощью методов add() и remove(). Iterator не поддерживает данного функционала.
Если вам нравится делиться знаниями, мы принесли приятную новость – прямо сейчас Geekbrains ищет 30 преподавателей, авторов и ревьюеров:

👨‍🏫 Преподаватель ведет онлайн-занятия по любимым темам и видит, как растут новые кадры.
👨‍🎤 Автор разрабатывает собственную программу и делится знаниями с новичками.
🕵️ Ревьюер дает обратную связь на практические работы студентов и помогает освоить лучшие практики.

Не страшно, если нет опыта в образовательной сфере – компания ищет профессионалов в своей отрасли, а остальному научат. Можно даже совмещать преподавание с работой.

Станьте экспертом в GeekBrains и помогите тысячам людей найти себя в IT 👉 https://proglib.io/w/55057cc5
Контейнер сервлетов — программа, представляющая собой сервер, который занимается системной поддержкой сервлетов и обеспечивает их жизненный цикл в соответствии с правилами, определёнными в спецификациях. Может работать как полноценный самостоятельный веб-сервер, быть поставщиком страниц для другого веб-сервера, или интегрироваться в Java EE сервер приложений.

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

Наиболее известные реализации контейнеров сервлетов:

☕️ Apache Tomcat
☕️ Jetty
☕️ JBoss
☕️ WildFly
☕️ GlassFish
☕️ IBM WebSphere
☕️ Oracle Weblogic
Android Programming: The Big Nerd Ranch Guide (2017)
Авторы: Bill Phillips, Chris Stewart, Kristin Marsicano
Количество страниц: 624

Это руководство, основанное на популярных учебных курсах по Android от Big Nerd Ranch, отлично подойдет всем, кто хочет начать писать приложения для мобильных устройств. Работая с книгой, вы можете писать и запускать код на каждом этапе обучения, используя Android Studio для создания приложений. Каждая глава и программа были разработаны и протестированы, чтобы проиллюстрировать конкретные актуальные знания, необходимые любому мобильному разработчику.

Скачать книгу