Какое утверждение относительно преобразования примитивных типов верно?
Anonymous Quiz
61%
Тип byte можно привести к типу int без потери данных
9%
Тип boolean можно привести к типу byte
13%
Расширение является небезопасным преобразованием
17%
Тип byte можно привести к типу char без потери данных
Forwarded from Библиотека собеса по Java | вопросы с собеседований
BeanPostProcessor
BeanPostProcessor — это интерфейс в Spring Framework, который позволяет разработчикам расширять логику создания бинов. BeanPostProcessors вызываются после того, как бин был создан и проинициализирован, но до того, как он будет зарегистрирован в контейнере Spring.
BeanPostProcessors имеют два метода обратного вызова:
postProcessBeforeInitialization(Object bean, String beanName): вызывается перед тем, как будет вызван метод init() бина.
postProcessAfterInitialization(Object bean, String beanName): вызывается после того, как будет вызван метод init() бина.
BeanPostProcessor — это интерфейс в Spring Framework, который позволяет разработчикам расширять логику создания бинов. BeanPostProcessors вызываются после того, как бин был создан и проинициализирован, но до того, как он будет зарегистрирован в контейнере Spring.
BeanPostProcessors имеют два метода обратного вызова:
postProcessBeforeInitialization(Object bean, String beanName): вызывается перед тем, как будет вызван метод init() бина.
postProcessAfterInitialization(Object bean, String beanName): вызывается после того, как будет вызван метод init() бина.
Очередной #дайджест по Java
🔄 Вариантность обобщенных типов в картинках и простых примерах — для примера используется пять классов которые последовательно наследуются друг от друга и коллекции ArrayList предназначенные для хранения экземпляров этих типов
🔄 Принцип подстановки Барбары Лисков — разбор важного принципа разработки ПО на ООП языках
🔄 Java Spring Reactive WebSession на примере — простой пример создания сессии, её использования и инвалидации в реактивном стеке Spring'а
🔄 Книга «Java 17 Recipes: A Problem-Solution Approach» — рассматриваются некоторые из новейших функций, API и многое другое, например сопоставление шаблонов для switch, восстановление семантики Always-Strict-Floating-Point-Semantics и прочее
🔄 Тестирование Spring Security — как протестировать аутентификацию и авторизацию приложений Spring Boot
🔄 Вариантность обобщенных типов в картинках и простых примерах — для примера используется пять классов которые последовательно наследуются друг от друга и коллекции ArrayList предназначенные для хранения экземпляров этих типов
🔄 Принцип подстановки Барбары Лисков — разбор важного принципа разработки ПО на ООП языках
🔄 Java Spring Reactive WebSession на примере — простой пример создания сессии, её использования и инвалидации в реактивном стеке Spring'а
🔄 Книга «Java 17 Recipes: A Problem-Solution Approach» — рассматриваются некоторые из новейших функций, API и многое другое, например сопоставление шаблонов для switch, восстановление семантики Always-Strict-Floating-Point-Semantics и прочее
🔄 Тестирование Spring Security — как протестировать аутентификацию и авторизацию приложений Spring Boot
Forwarded from Библиотека собеса по Java | вопросы с собеседований
SocketHandler
SocketHandler — это класс в Java, который используется для отправки сообщений журнала на сервер журнала. Он наследуется от класса Handler и реализует интерфейс StreamHandler.
SocketHandler — это класс в Java, который используется для отправки сообщений журнала на сервер журнала. Он наследуется от класса Handler и реализует интерфейс StreamHandler.
✍️✍️ Отладка Spring-микросервиса в контейнере
Иногда для оперативной локализации ошибки проще всего воспользоваться отладчиком. Каждый разработчик так или иначе применял подход DDD при локальной разработке или в поисках бага на удаленном стенде. Но что делать, если удаленное приложение в контейнере? В этой автор поделился Dockerfile-ом, к которому пришел, решая проблему отладки контейнеризированного приложения.
За основу был взят Dockerfile из официального руководства Spring + подробности про multi-stage build и нюансы распаковки JAR-ника.
Подробности здесь
#гайд
Иногда для оперативной локализации ошибки проще всего воспользоваться отладчиком. Каждый разработчик так или иначе применял подход DDD при локальной разработке или в поисках бага на удаленном стенде. Но что делать, если удаленное приложение в контейнере? В этой автор поделился Dockerfile-ом, к которому пришел, решая проблему отладки контейнеризированного приложения.
За основу был взят Dockerfile из официального руководства Spring + подробности про multi-stage build и нюансы распаковки JAR-ника.
Подробности здесь
#гайд
Forwarded from Библиотека задач по Java | тесты, код, задания
LambdaMetafactory
LambdaMetafactory — это класс в Java, который используется для создания объектов функциональных интерфейсов.
Как работает LambdaMetafactory:
1. LambdaMetafactory используется для создания CallSite, который представляет собой фабричный метод, возвращающий обработчик целевого метода.
2. Обработчик метода — это реализация функционального интерфейса, которая использует invokeExact для вызова целевого метода.
3. Если в лямбда-выражении есть захваченные переменные, то invokeExact принимает эти переменные как фактические параметры.
4. В Oracle JRE 8 metafactory динамически генерирует Java-класс, используя ObjectWeb Asm, который и создает класс-реализацию функционального интерфейса.
LambdaMetafactory — это класс в Java, который используется для создания объектов функциональных интерфейсов.
Как работает LambdaMetafactory:
1. LambdaMetafactory используется для создания CallSite, который представляет собой фабричный метод, возвращающий обработчик целевого метода.
2. Обработчик метода — это реализация функционального интерфейса, которая использует invokeExact для вызова целевого метода.
3. Если в лямбда-выражении есть захваченные переменные, то invokeExact принимает эти переменные как фактические параметры.
4. В Oracle JRE 8 metafactory динамически генерирует Java-класс, используя ObjectWeb Asm, который и создает класс-реализацию функционального интерфейса.
Идеальный офис 2.0
Так что нужно от офиса, чтоб туда хотелось идти и не хотелось уходить и где бы вы выдавали максимум эффективности?
То есть мыслим со стороны работодателя. НУ и со своей стороны, чтоб с утра хотелось туда идти, а вечером не хотелось уходить.
Читать статью
#почитать
Так что нужно от офиса, чтоб туда хотелось идти и не хотелось уходить и где бы вы выдавали максимум эффективности?
То есть мыслим со стороны работодателя. НУ и со своей стороны, чтоб с утра хотелось туда идти, а вечером не хотелось уходить.
Читать статью
#почитать
⚡️Свершилось: канал с книгами только по Java
Мы создали для вас канал с самыми полезными книгами по Java — подписывайтесь!
👉 Книги для джавистов | Java
Мы создали для вас канал с самыми полезными книгами по Java — подписывайтесь!
Please open Telegram to view this post
VIEW IN TELEGRAM
🐱🎨🙏🤖 10 самых странных языков программирования, о которых вы никогда не слышали
Эзотерические языки разрабатывают в концептуальных, экспериментальных и развлекательных целях. Их общая черта — максимально запутанный и странный синтаксис, понятный только посвященным. В этой подборке — языки, которые выбрали бы Ходор, доктор Лектер, Малевич, Джеймс Бонд, Терминатор и Луи Армстронг, если бы решили войти в айти.
👉 Читать статью
👉 Зеркало
Эзотерические языки разрабатывают в концептуальных, экспериментальных и развлекательных целях. Их общая черта — максимально запутанный и странный синтаксис, понятный только посвященным. В этой подборке — языки, которые выбрали бы Ходор, доктор Лектер, Малевич, Джеймс Бонд, Терминатор и Луи Армстронг, если бы решили войти в айти.
👉 Читать статью
👉 Зеркало
Подготовили для вас #дайджест новинок мира Java
♦️ Настройка CI/CD глазами разработчика — не про объяснения что такое CI/CD, docker-compose, а про более глубокие вещи
♦️ Шторм на рынке мобильной разработки — как пережить и что предусмотреть бизнесу в 2024
♦️ Repeatable migrations в Flyway — любая миграция — это новый файл, который невозможно сравнить со старым
♦️ Книга «Functional Design: Principles, Patterns, and Practices» — как и зачем использовать функциональное программирование для создания лучших систем для реальных клиентов
♦️ Использование resilience4j со Spring Boot — про библиотеку с набором инструментов для повышения надежности и отказоустойчивости java приложений в микросервисной архитектуре
♦️ Настройка CI/CD глазами разработчика — не про объяснения что такое CI/CD, docker-compose, а про более глубокие вещи
♦️ Шторм на рынке мобильной разработки — как пережить и что предусмотреть бизнесу в 2024
♦️ Repeatable migrations в Flyway — любая миграция — это новый файл, который невозможно сравнить со старым
♦️ Книга «Functional Design: Principles, Patterns, and Practices» — как и зачем использовать функциональное программирование для создания лучших систем для реальных клиентов
♦️ Использование resilience4j со Spring Boot — про библиотеку с набором инструментов для повышения надежности и отказоустойчивости java приложений в микросервисной архитектуре
Forwarded from Библиотека собеса по Java | вопросы с собеседований
Почему Map не наследуется от Collection?
Это связано с различиями в их целях и использовании. Интерфейс Collection представляет собой общие методы для работы с группой объектов, таких как добавление, удаление и проверка наличия элемента. Он ориентирован на работу с коллекциями объектов, где каждый объект является элементом коллекции.
Интерфейс Map, с другой стороны, представляет собой отображение ключей на значения. Он не рассматривает элементы коллекции как отдельные объекты, а предоставляет доступ к значению, связанному с определенным ключом. Это более общий и мощный подход, который не сводится к работе с отдельными элементами коллекции.
Интерфейс Map включает в себя методы для управления парами ключ-значение и обеспечивает эффективный доступ к значениям по ключу. По этим причинам он не является подтипом Collection. Однако, классы, реализующие интерфейс Map, часто предоставляют методы, которые позволяют работать с элементами коллекции или возвращают представление коллекции ключей, значений или записей (ключ-значение).
Таким образом, хотя Map и Collection предоставляют абстракции для работы с группой объектов, они решают разные задачи, и поэтому не существует иерархического отношения наследования между ними.
#для_продвинутых
Это связано с различиями в их целях и использовании. Интерфейс Collection представляет собой общие методы для работы с группой объектов, таких как добавление, удаление и проверка наличия элемента. Он ориентирован на работу с коллекциями объектов, где каждый объект является элементом коллекции.
Интерфейс Map, с другой стороны, представляет собой отображение ключей на значения. Он не рассматривает элементы коллекции как отдельные объекты, а предоставляет доступ к значению, связанному с определенным ключом. Это более общий и мощный подход, который не сводится к работе с отдельными элементами коллекции.
Интерфейс Map включает в себя методы для управления парами ключ-значение и обеспечивает эффективный доступ к значениям по ключу. По этим причинам он не является подтипом Collection. Однако, классы, реализующие интерфейс Map, часто предоставляют методы, которые позволяют работать с элементами коллекции или возвращают представление коллекции ключей, значений или записей (ключ-значение).
Таким образом, хотя Map и Collection предоставляют абстракции для работы с группой объектов, они решают разные задачи, и поэтому не существует иерархического отношения наследования между ними.
#для_продвинутых
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
FairSemaphore
Это класс, реализующий семафор, который обеспечивает справедливое распределение разрешений между потоками. Это означает, что потоки, ожидающие разрешения, будут получать его в порядке очереди, а не в случайном порядке.
В примере на картинке два потока будут пытаться получить доступ к ресурсу, который защищен с помощью FairSemaphore. Потоки будут получать доступ к ресурсу по очереди, а не в случайном порядке.
Это класс, реализующий семафор, который обеспечивает справедливое распределение разрешений между потоками. Это означает, что потоки, ожидающие разрешения, будут получать его в порядке очереди, а не в случайном порядке.
В примере на картинке два потока будут пытаться получить доступ к ресурсу, который защищен с помощью FairSemaphore. Потоки будут получать доступ к ресурсу по очереди, а не в случайном порядке.