Бизнес блог #1
Выжимаю книги до самой сути.
👉 Реклама - @jaMasha
📇 Хотите свою книгу? Мы напишем её за вас и сделаем книгу бестселлером. Подробности в боте @Summary_library_bot
🏆 Оставьте след в истории с помощью книги
https://expert-book.pro
Фильмы и сериалы со всей планеты. Мы знаем, что посмотреть, где посмотреть и на что сходить в кино.
Last updated 1 month, 4 weeks ago
Все материалы размещены по партнёрской програме ivi.ru На канале НЕ РАЗМЕЩАЕТСЯ пиратский контент!
менеджер по рекламе: @kuzr103
Основной канал: https://t.me/kino_hd2
Администрация не несёт отвественности за рекламу. Будьте внимательны.
Last updated 3 months, 2 weeks ago
TimeUnit
TimeUnit
— этоперечисление (enum), которое предоставляет удобные константы для работы с временем. Этот класс обычно используется вместе с классом ExecutorService
из пакета java.util.concurrent
для управления временем ожидания выполнения задач.
TimeUnit
содержит константы для различных временных единиц, таких как наносекунды, микросекунды, миллисекунды, секунды, минуты и часы. Он предоставляет методы для конвертации времени из одной единицы в другую.
ForkJoinPool.ManagedBlocker
ForkJoinPool.ManagedBlocker
является интерфейсом в Java, который предоставляет механизм для блокировки потока внутри фреймворка ForkJoinPool
. ForkJoinPool
— это фреймворк параллельного выполнения введенный в Java 7.
Интерфейс ManagedBlocker
предоставляет метод boolean block()
и используется для реализации пользовательских операций, которые могут вызвать блокировку потока. Этот интерфейс обычно используется в ситуациях, когда задача внутри ForkJoinPool
ожидает результат выполнения другой задачи, но не хочет приводить к блокировке потока.
Объясните процесс загрузки, инициализации, выполнения и выгрузки класса в Java Virtual Machine (JVM). Какие шаги выполняются на каждом этапе?
Ответ:
Загрузка (Loading):
— Нахождение и загрузка класс-файла: Class Loader ищет и загружает байт-код класса из файловой системы, JAR-архива, сети или другого источника.
— Создание структур данных: Создаются структуры данных для представления класса в памяти JVM, такие как Class объект.
Подготовка (Preparation):
— Выделение памяти для статических переменных: Выделяется память для статических переменных, инициализированных значением по умолчанию.
Инициализация (Initialization):
— Инициализация статических переменных и выполнение статических блоков: Статические переменные получают значения из кода инициализации, выполняются статические блоки.
Выполнение (Execution):
— Вызов метода main()
: Если класс содержит метод public static void main(String[] args)
, JVM вызывает этот метод для выполнения программы.
— Вызов других методов: JVM вызывает другие методы по мере необходимости.
Выгрузка (Unloading):
— Освобождение памяти: Если класс больше не используется и нет активных ссылок на его объекты, JVM может выгрузить класс и освободить память.
#вопросы_с_собеседований
Внутренний мир: Java NIO
Хабр
Внутренний мир: Java NIO
Привет, Хабр! Парадигма «неблокируемого ввода/вывода» заинтересовала меня с того момента, как я о ней услышал. Идея возможности вызвать операцию чтения без блокировки вызывающего потока довольно...
Стать сотрудником Яндекса быстрее и проще, чем кажется. Участвуйте в днях быстрого найма: решите тестовое, пройдите несколько секций собеседования и получите офер за несколько дней.
Ближайшее Fast Track мероприятие:
• 3–7 июня — для технических менеджеров и Crowd Solutions Architect, офер за 5 дней в команду Crowd.
Clover
Clover — это инструмент покрытия кода для Java и Groovy, который помогает разработчикам измерить насколько тестами покрыт ваш код, определить какие части кода не тестируются, улучшить качество вашего кода за счет написания тестов для непокрытых частей.
Clover работает путем отслеживания выполнения вашего кода и записи информации о том, какие строки кода были выполнены.
Эта информация используется для создания отчетов, которые показывают вам, насколько хорошо ваш код покрыт тестами.
#вопросы_с_собеседований
Как работает механизм 'Double Brace Initialization' и какие потенциальные проблемы он может создать?
'Double Brace Initialization' в Java - это техника инициализации объектов, которая использует двойные фигурные скобки. Первая скобка создает анонимный внутренний класс, а вторая - блок инициализации этого класса. Этот метод часто используется для удобной инициализации коллекций. Однако он может привести к утечкам памяти, поскольку анонимный внутренний класс держит неявную ссылку на внешний класс, что может помешать сборке мусора во внешнем классе. Кроме того, он увеличивает размер класса и может влиять на производительность.
#вопросы_с_собеседований
Объясните, как работает Java Memory Model и как это влияет на синхронизацию и параллельное выполнение в многопоточных приложениях Java
Java Memory Model (JMM) определяет, как потоки в Java взаимодействуют через общую память. Важные аспекты JMM включают понятия 'видимости' и 'упорядоченности'. Она гарантирует, что каждое действие в одном потоке перед выполнением следующего действия в другом потоке будет "заметно". Это важно для корректной синхронизации, чтобы избежать проблем, таких как гонки за данные и нарушения последовательности операций. JMM определяет, как и когда изменения, сделанные одним потоком, становятся видимыми для других, что критически важно при проектировании безопасных по отношению к потокам многопоточных приложений.
☕️ Самые интересные доклады с YaTalks — уже на Яндекс Музыке!
Стартовал новый сезон YaTalks: ReRun — подкаст избранных докладов с самой большой технологической конференции Яндекса. Мы собрали их в Техномарафон — совместный спецпроект с командой Яндекс Музыки. Техномарафон будет идти 3 недели, а всего вас ждёт 28 выпусков.
На Техномарафоне расскажем, как создавать меняющие мир технологии, не отставать от быстрого развития индустрии и управлять командами опытных, независимых и творческих инженеров. Например:
🔴 Ускоритель в масштабе планеты: как инженеры управляют временем
🔴 Дебаты: AI недооценён или переоценён?
🔴 Человек и проект: как создаётся технологическое чудо
🔴 Свой среди чужих: как выжить в интернациональных командах?
Добавляйте Техномарафон в избранное на Яндекс Музыке — скоро выложим ещё много крутых выступлений!
ФильтрацияФильтрация — это процесс выбора элементов из коллекции, удовлетворяющих определенному критерию. Фильтрация является одной из базовых операций при работе с коллекциями и позволяет легко извлекать нужные элементы.
В Java фильтрация может быть выполнена с использованием метода filter()
из класса java.util.stream.Stream
. Метод filter()
принимает предикат (функцию, которая возвращает true или false в зависимости от того, удовлетворяет ли элемент критерию) и возвращает новый Stream
, содержащий только те элементы, которые удовлетворяют критерию.
Бизнес блог #1
Выжимаю книги до самой сути.
👉 Реклама - @jaMasha
📇 Хотите свою книгу? Мы напишем её за вас и сделаем книгу бестселлером. Подробности в боте @Summary_library_bot
🏆 Оставьте след в истории с помощью книги
https://expert-book.pro
Фильмы и сериалы со всей планеты. Мы знаем, что посмотреть, где посмотреть и на что сходить в кино.
Last updated 1 month, 4 weeks ago
Все материалы размещены по партнёрской програме ivi.ru На канале НЕ РАЗМЕЩАЕТСЯ пиратский контент!
менеджер по рекламе: @kuzr103
Основной канал: https://t.me/kino_hd2
Администрация не несёт отвественности за рекламу. Будьте внимательны.
Last updated 3 months, 2 weeks ago