Обложка канала

Библиотека джависта. Страница 49

20804 @javaproglib

Полезные материалы по всему, что может быть полезно разработчику на Java.

  • Библиотека джависта

    📍 Зачем математика нужна в Data Science в 2022? Библиотека программиста продолжает серию вебинаров по темам, интересным для наших подписчиков. На предстоящем вебинаре аналитик данных Артур Сапрыкин поведает слушателям об актуальных требованиях к дата-сайентистам, математике, необходимой для обучения предсказательных моделей и том, как соответствующие навыки используются на практике для обработки крупных массивов информации. 🧑‍💻 Для кого: начинающие дата-сайентисты и абитуриенты ШАД 📅 Когда: 8 августа в 19:00 🖇 Где: https://proglib.io/w/fb2c6ce4 #proglib_academy #профессии #datascientist
  • Библиотека джависта

    Чем отличается процесс от потока? Процесс — экземпляр программы во время выполнения, независимый объект, которому выделены системные ресурсы (например, процессорное время и память). Каждый процесс выполняется в отдельном адресном пространстве: один процесс не может получить доступ к переменным и структурам данных другого. Если процесс хочет получить доступ к чужим ресурсам, необходимо использовать межпроцессное взаимодействие. Это могут быть конвейеры, файлы, каналы связи между компьютерами и многое другое. Для каждого процесса ОС создает так называемое «виртуальное адресное пространство», к которому процесс имеет прямой доступ. Это пространство принадлежит процессу, содержит только его данные и находится в полном его распоряжении. Операционная система же отвечает за то, как виртуальное пространство процесса проецируется на физическую память. Поток(thread) — определенный способ выполнения процесса, определяющий последовательность исполнения кода в процессе. Потоки всегда создаются в контексте какого-либо процесса, и вся их жизнь проходит только в его границах. Потоки могут исполнять один и тот же код и манипулировать одними и теми же данными, а также совместно использовать описатели объектов ядра, поскольку таблица описателей создается не в отдельных потоках, а в процессах. Так как потоки расходуют существенно меньше ресурсов, чем процессы, в процессе выполнения работы выгоднее создавать дополнительные потоки и избегать создания новых процессов.
  • Библиотека джависта

    #вопросы_с_собеседований Что такое «кооперативная многозадачность»? Какой тип многозадачности использует Java? Чем обусловлен этот выбор? Кооперативная многозадачность - это способ деления процессорного времени между потоками, при котором каждый поток обязан отдавать управление следующему добровольно. Преимущества такого подхода - простота реализации, меньшие накладные расходы на переключение контекста. Недостатки - если один поток завис или ведет себя некорректно, то зависает целиком вся система и другие потоки никогда не получат управление. Java использует вытесняющую многозадачность, при которой решение о переключении между потоками процесса принимает операционная система. В отличие от кооперативной многозадачности управление операционной системе передаётся вне зависимости от состояния работающих приложений, благодаря чему, отдельные зависшие потоки процесса, как правило, не «подвешивают» всю систему целиком. За счёт регулярного переключения между задачами также улучшается отзывчивость приложения и повышается оперативность освобождения ресурсов, которые больше не используются. В реализации вытесняющая многозадачность отличается от кооперативной, в частности, тем, что требует обработки системного прерывания от аппаратного таймера.
  • Реклама

  • Библиотека джависта

    #вопросы_с_собеседований Что такое «потокобезопасность»? Потокобезопасность – свойство объекта или кода, которое гарантирует, что при исполнении или использовании несколькими потоками, код будет вести себя, как предполагается. Например потокобезопасный счётчик не пропустит ни один счёт, даже если один и тот же экземпляр этого счётчика будет использоваться несколькими потоками.
  • Библиотека джависта

    #вопросы_с_собеседований Что такое перегрузка методов? Перегрузка методов — это свойство полиморфизма, в котором при помощи изменения сигнатуры метода можно создать различные реализации методов для одной и той же операции: - одинаковое имя метода; - различные аргументы; - различный порядок аргументов; Например, один и тот же add() из List может быть перегружен следующим образом и будет выполнять добавление разным способом, в зависимости от аргументов метода: - add(Object o) — просто добавляет объект; - add(int index, Object o) — добавляет объект в определенный индекс; - add(Collection<Object> c) — добавляет список объектов; - add(int index, Collection<Object> c) — добавляет список объектов, начиная с определенного индекса.
  • Библиотека джависта

    #вопросы_с_собеседований В чем проблема сериализации Singleton? Проблема в том что после десериализации мы получим другой объект. Таким образом, сериализация дает возможность создать Singleton еще раз, что недопустимо. Существует два способа избежать этого: • явный запрет сериализации. • определение метода с сигнатурой (default/public/private/protected/) Object readResolve() throws ObjectStreamException, назначением которого станет возврат замещающего объекта вместо объекта, на котором он вызван.
  • Библиотека джависта

    💪Хотите повысить свои скиллы в Java-разработке? 🗣Присоединяйтесь к отрытому уроку 10 августа в 20:00 мск в OTUS, где мы с экспертом разберем аспекты в Java и Spring. На занятии рассмотрим аспекты: что это и зачем нужно и узнаем, как создавать аспекты в Java, используя разные технологии, и как они используются в Spring. ☘️ Больше полезной информации по фреймворку Spring вы получите на онлайн-курсе «Разработчик на Spring Framework» OTUS. 📌Пройдите вступительный тест для проверки знаний и записи на вебинар: https://otus.pw/D9Qu/
  • Библиотека джависта

    #вопросы_с_собеседований Опишите поведение аннотации @Autowired. 1. Контейнер определяет тип объекта для внедрения 2. Контейнер ищет бины в контексте(он же контейнер), которые соответствуют нужному типу 3. Если есть несколько кандидатов, и один из них помечен как @Primary, то внедряется он 4. Если используется аннотации @Autowire + Qualifier, то контейнер будет использовать информацию из @Qualifier, чтобы понять, какой компонент внедрять 5. В противном случае контейнер попытается внедрить компонент, основываясь на его имени или ID 6. Если ни один из способов не сработал, то будет выброшено исключение Контейнер обрабатывает DI с помощью AutowiredAnnotationBeanPostProcessor. В связи с этим, аннотация не может быть использована ни в одном BeanFactoryPP или BeanPP. Если внедряемый объект массив, коллекция, или map с дженериком, то Spring внедрит все бины подходящие по типу в этот массив(или другую структуру данных). В случае с map ключом будет имя бина. //параметр указывает, требуется ли DI @Authowired(required = true/false)
  • Библиотека джависта

    🥋 Что такое метанавыки и почему они важнее софт-скилов? В статье рассмотрим, что такое мета-навыки, для чего они необходимы и почему вы должны уделять первоочередное внимание их развитию, чтобы реализоваться. https://proglib.io/sh/WXEcg6wP3M
  • Библиотека джависта

    #вопросы_с_собеседований Какова важность файла web.xml в Spring MVC? web.xml также известен как дескриптор развертывания, который содержит определения сервлетов и их сопоставлений, фильтров и прослушивателей жизненного цикла. Он также используется для настройки ContextLoaderListener. Всякий раз, когда приложение развертывается, экземпляр ContextLoaderListener создается контейнером сервлетов, что приводит к загрузке WebApplicationContext.
  • Библиотека джависта

    🛠 Как использовать REST API: полное руководство для начинающих Лонгрид о концепциях, особенностях стиля архитектуры и проблемах REST API. https://proglib.io/sh/qlGMvA6ie8
  • Библиотека джависта

    ⁉️Хотите быстро освоить Java, но не знаете, с чего начать? 🔥Подключайтесь к отрытому уроку 8 августа в 20:00 мск. Тема занятия: «Структура программы на Java. Примитивные типы». На вебинаре познакомимся с основными этапами создания простейшей программы на Java, поймем принципы работы компилятора и виртуальной машины, а также разберемся с class-файлами. Также на уроке изучим примитивные типы данных, константы и enum. 📚Урок пройдет в рамках буткемпа «Java developer» для всех, кто хочет с нуля и за короткое время освоить профессию разработчика Junior+ уровня. 🗣Преподаватель: Непомнящий Евгений, сертифицированный Java-разработчик. 📌Регистрируйтесь на урок: https://otus.pw/ip5A/
  • Библиотека джависта

    🕸 Будущее интернета: как работают протоколы HTTP/3, QUIC и зачем они нужны? Рассказываем об эволюции протокола HTTP, транспортном протоколе QUIC, преимуществах и недостатках HTTP/3 и, наконец, делимся мнением о будущем интернета благодаря HTTP/3. https://proglib.io/sh/3wxFTAnr5H
  • Библиотека джависта

    #вопросы_с_собеседований Опишите поведение аннотации @Autowired. 1. Контейнер определяет тип объекта для внедрения 2. Контейнер ищет бины в контексте(он же контейнер), которые соответствуют нужному типу 3. Если есть несколько кандидатов, и один из них помечен как @Primary, то внедряется он 4. Если используется аннотации @Autowire + Qualifier, то контейнер будет использовать информацию из @Qualifier, чтобы понять, какой компонент внедрять 5. В противном случае контейнер попытается внедрить компонент, основываясь на его имени или ID 6. Если ни один из способов не сработал, то будет выброшено исключение Контейнер обрабатывает DI с помощью AutowiredAnnotationBeanPostProcessor. В связи с этим, аннотация не может быть использована ни в одном BeanFactoryPP или BeanPP. Если внедряемый объект массив, коллекция, или map с дженериком, то Spring внедрит все бины подходящие по типу в этот массив(или другую структуру данных). В случае с map ключом будет имя бина. //параметр указывает, требуется ли DI @Authowired(required = true/false)
  • Библиотека джависта

    📱🇬🇧 ТОП-26 приложений для смартфонов для изучения английского с нуля Подготовили список бесплатных и платных приложений, охватывающих все разделы английского языка: от изучения слов и сленга до анализа произношения и живого общения с иностранцами. Для удобства все приложения свели в сравнительную таблицу. https://proglib.io/sh/6J9cDvsNUC
  • Реклама

  • Библиотека джависта

    Учебник по Java: cтатический и динамический полиморфизм В статье разберемся с одной из ключевых концепций объектно-ориентированного программирования — полиморфизмом — и посмотрим, как она реализована в Java. https://proglib.io/sh/EP9m8VGwae
  • Библиотека джависта

    Как и когда происходит увеличение количества корзин в HashMap? Помимо capacity у HashMap есть еще поле loadFactor, на основании которого, вычисляется предельное количество занятых корзин capacity * loadFactor. По умолчанию loadFactor = 0.75. По достижению предельного значения, число корзин увеличивается в 2 раза и для всех хранимых элементов вычисляется новое «местоположение» с учетом нового числа корзин.
  • Библиотека джависта

    ☘️Хардкорный тест из 21 вопроса только для тех, кто уже знает и любит Java и хочет освоить Framework Spring. 🚀Если сможете сдать — пройдёте на продвинутый курс для разработчиков по спец.цене. ⏰ Время прохождения теста ограничено 30 минут 👉🏻ПРОЙТИ ТЕСТ: https://otus.pw/sony/