#вопросы_с_собеседований
Что такое «статический класс»?
Это вложенный класс, объявленный с использованием ключевого слова
Что такое «статический класс»?
Это вложенный класс, объявленный с использованием ключевого слова
static
. К классам верхнего уровня модификатор static
неприменим.#вопросы_с_собеседований
Сколько создается новых объектов, когда вы добавляете новый элемент в HashMap?
Один новый объект статического вложенного класса
Сколько создается новых объектов, когда вы добавляете новый элемент в HashMap?
Один новый объект статического вложенного класса
Entry<K,V>
Spring: новости за прошедшую неделю / 21-е февраля
Вашему вниманию предлагается информационная подборка материалов "Spring: новости за прошедшую неделю" от Джоша Лонга (Josh Long).
https://spring.io/blog/2023/02/21/this-week-in-spring-february-21-20223
Вашему вниманию предлагается информационная подборка материалов "Spring: новости за прошедшую неделю" от Джоша Лонга (Josh Long).
https://spring.io/blog/2023/02/21/this-week-in-spring-february-21-20223
This Week in Spring - February 21, 20223
Level up your Java code and explore what Spring can do for you.
Что такое shutdownhook?
Shutdownhook — это поток, который неявно вызывается до завершения работы JVM(виртуальная машина Java). Таким образом, мы можем использовать его для очистки ресурса или сохранения состояния, когда виртуальная машина Java выключается нормально или внезапно.
Мы можем добавить shutdown hook, используя следующий метод:
Runtime.getRuntime().addShutdownHook(new ShutdownHookThreadExample());
Shutdownhook — это поток, который неявно вызывается до завершения работы JVM(виртуальная машина Java). Таким образом, мы можем использовать его для очистки ресурса или сохранения состояния, когда виртуальная машина Java выключается нормально или внезапно.
Мы можем добавить shutdown hook, используя следующий метод:
Runtime.getRuntime().addShutdownHook(new ShutdownHookThreadExample());
Бесплатный курс для всех, кто любит качественные IT-публикации и хочет научиться интересно писать о программировании либо улучшить навыки письма.
Курс состоит из семи модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций. Ограничений на время прохождения заданий нет.
Курс будет интересен авторам, работающим в составе редакции, копирайтерам-одиночкам и просто программистам, которые хотят научиться интересно рассказывать о собственных проектах.
Материалы регулярно дополняются, обновляются и корректируется. Отвечаем на все учебные вопросы в комментариях курса.
Как стать автором «Библиотеки программиста» и получать гонорары за статьи?
➡️ Заполните анкету.
Если все ок, мы свяжемся с вами и обсудим дальнейшие шаги.
Please open Telegram to view this post
VIEW IN TELEGRAM
#вопросы_с_собеседований
Какие логические операции и операторы вы знаете?
•
•
•
•
•
•
•
•
•
•
•
•
Какие логические операции и операторы вы знаете?
•
&
: Логическое AND (И);•
&&
: Сокращённое AND;•
|
: Логическое OR (ИЛИ);•
||
: Сокращённое OR;•
^
: Логическое XOR (исключающее OR (ИЛИ));•
!
: Логическое унарное NOT (НЕ);•
&=
: AND с присваиванием;•
|=
: OR с присваиванием;•
^=
: XOR с присваиванием;•
==
: Равно;•
!=
: Не равно;•
?:
: Тернарный (троичный) условный оператор.В этом новом видео "История систем контроля версий" автор рассказывает об эволюции систем контроля версий, начиная с первых командных интерфейсов и заканчивая современными децентрализованными системами. Автор описывает основные принципы и функциональность таких систем, как SCCS, RCS, CVS, SVN и Git, рассказывает о их преимуществах и ограничениях, а также о том, как они повлияли на развитие современного программного обеспечения.
https://youtu.be/idRbHt3LE58
Please open Telegram to view this post
VIEW IN TELEGRAM
Графический интерфейс для bash, делаем работу в командной строке удобнее
Когда пишешь код в IntelliJ IDEA, привыкаешь что везде есть подсказки, везде где можно работает комплишен, всегда можно одним кликом перейти на декларацию метода или на его юсаджи.
Смотреть статью
Когда пишешь код в IntelliJ IDEA, привыкаешь что везде есть подсказки, везде где можно работает комплишен, всегда можно одним кликом перейти на декларацию метода или на его юсаджи.
Смотреть статью
Prostore — простой Event sourcing + CQRS фреймворк
На данный момент на рынке мало Event sourcing + CQRS фреймворков. А те, что есть, непопулярны и имеют слабую поддержку, поэтому многие создают свои in-house решения. В этой статье расскажу о выполненном командой «Programming Store» проекте Prostore, который может послужить примером при создании вашего собственного решения.
https://habr.com/ru/post/716218/
На данный момент на рынке мало Event sourcing + CQRS фреймворков. А те, что есть, непопулярны и имеют слабую поддержку, поэтому многие создают свои in-house решения. В этой статье расскажу о выполненном командой «Programming Store» проекте Prostore, который может послужить примером при создании вашего собственного решения.
https://habr.com/ru/post/716218/
Хабр
Prostore — простой Event sourcing + CQRS фреймворк
На данный момент на рынке мало Event sourcing + CQRS фреймворков. А те, что есть, непопулярны и имеют слабую поддержку, поэтому многие создают свои in-house решения. В этой статье расскажу о...
Что такое тернарный оператор выбора?
Тернарный условный оператор ?: - оператор, которым можно заменить некоторые конструкции операторов if-then-else.
Выражение записывается в следующей форме:
Тернарный условный оператор ?: - оператор, которым можно заменить некоторые конструкции операторов if-then-else.
Выражение записывается в следующей форме:
условие ? выражение1 : выражение2
Если условие выполняется, то вычисляется выражение1 и его результат становится результатом выполнения всего оператора. Если же условие равно false, то вычисляется выражение2 и его значение становится результатом работы оператора. Оба операнда выражение1 и выражение2 должны возвращать значение одинакового (или совместимого) типа.Экспортируем метрики в Prometheus, пишем кастомные метрики с помощью Micrometr, строим дашборды в Grafana. Поднимаем это все с помощью Docker compose.
https://youtu.be/CexiiWrZESk
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Мониторинг Spring Boot, Prometheus и Grafana(Docker compose)
Экспортируем метрики в Prometheus, пишем кастомные метрики с помощью Micrometr, строим дашборды в Grafana. Поднимаем это все с помощью Docker compose.
Repo GitHub - https://github.com/kegisa/YandexTaxiScheduler
Api Yandex Taxi - https://yandex.ru/dev/taxi/taxiapi/…
Repo GitHub - https://github.com/kegisa/YandexTaxiScheduler
Api Yandex Taxi - https://yandex.ru/dev/taxi/taxiapi/…
Руководство по обработке исключений в Java Stream
Друзья, вашему вниманию предлагается небольшое руководство по обработке исключений в Java Stream, из которого вы узнаете: 😃
✔️ Как обрабатывать проверяемые исключения, выбрасываемые методами из промежуточных операций в стримах
✔️ Как использовать блок try-catch в лямбда-выражениях
✔️ Как безопасно извлекать метод.
Также, даны рекомендации использовать Optional вместо выбрасывания значения null из извлекаемой функции.
Хорошей практики!
https://howtodoinjava.com/java/stream/handle-exceptions-in-stream/
Друзья, вашему вниманию предлагается небольшое руководство по обработке исключений в Java Stream, из которого вы узнаете: 😃
✔️ Как обрабатывать проверяемые исключения, выбрасываемые методами из промежуточных операций в стримах
✔️ Как использовать блок try-catch в лямбда-выражениях
✔️ Как безопасно извлекать метод.
Также, даны рекомендации использовать Optional вместо выбрасывания значения null из извлекаемой функции.
Хорошей практики!
https://howtodoinjava.com/java/stream/handle-exceptions-in-stream/
HowToDoInJava
Handle Exceptions Thrown in Java Streams - HowToDoInJava
Learn to handle the checked exceptions thrown from the methods used in Stream operations in Java 8 using safe method extraction and Optional.
#вопросы_с_собеседований
Как и когда происходит увеличение количества корзин в HashMap?
Помимо
Как и когда происходит увеличение количества корзин в HashMap?
Помимо
capacity
у HashMap
есть еще поле loadFactor
, на основании которого, вычисляется предельное количество занятых корзин capacity * loadFactor
. По умолчанию loadFactor = 0.75
. По достижению предельного значения, число корзин увеличивается в 2 раза и для всех хранимых элементов вычисляется новое «местоположение» с учетом нового числа корзин.#вопросы_с_собеседований
Сделайте HashMap из HashSet<Map.Entry<K, V>>.
Сделайте HashMap из HashSet<Map.Entry<K, V>>.
HashMap<K, V> map = new HashMap<>(set.size());
for (Map.Entry<K, V> entry : set) {
map.put(entry.getKey(), entry.getValue());
}
#вопросы_с_собеседований
Сделайте HashSet из ключей HashMap.
Сделайте HashSet из ключей HashMap.
HashSet<Object> set = new HashSet<>(map.keySet());
#вопросы_с_собеседований
Для чего в стримах предназначены методы flatMap(), flatMapToInt(), flatMapToDouble(), flatMapToLong()?
Метод flatMap() похож на map, но может создавать из одного элемента несколько. Таким образом, каждый объект будет преобразован в ноль, один или несколько других объектов, поддерживаемых потоком. Наиболее очевидный способ применения этой операции — преобразование элементов контейнера при помощи функций, которые возвращают контейнеры.
flatMapToInt(), flatMapToDouble(), flatMapToLong() - это аналоги flatMap(), возвращающие соответствующий числовой стрим.
Для чего в стримах предназначены методы flatMap(), flatMapToInt(), flatMapToDouble(), flatMapToLong()?
Метод flatMap() похож на map, но может создавать из одного элемента несколько. Таким образом, каждый объект будет преобразован в ноль, один или несколько других объектов, поддерживаемых потоком. Наиболее очевидный способ применения этой операции — преобразование элементов контейнера при помощи функций, которые возвращают контейнеры.
flatMapToInt(), flatMapToDouble(), flatMapToLong() - это аналоги flatMap(), возвращающие соответствующий числовой стрим.
Автор показывает, как генерировать FeignClient по swagger openapi. Часто используется в реализации микросервисов на Spring Boot.
https://youtu.be/O2CrSdhS7pM
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Генерация Spring FeignClient по Swagger openapi
Показываю как генерировать FeignClient по swagger openapi. Часто используется в реализации микросервисов на Spring Boot.
Сервис валют - https://github.com/kegisa/CurrencyCbrService
Пример проекта со SwaggerCodeGen - https://github.com/kegisa/GeneratingFeignBySwagger…
Сервис валют - https://github.com/kegisa/CurrencyCbrService
Пример проекта со SwaggerCodeGen - https://github.com/kegisa/GeneratingFeignBySwagger…