====== Вопросы к экзамену "Разаработка систем управляемого исполнения" ====== - Виртуальная машина и MRE. Достоинства и недостатки MRE по сравнению с естественным кодом платформы - Основные компоненты MRE и их назначение. - Внешний интерфейс Java (JNI). - Внешний интерфейс CLI. - Процесс верификации класса Java. - Интерпретация. Шаблонная JIT компиляция. Оптимизирующая JIT и AOT компиляция. - Организация памяти современного процессора (L1, L2, L3 Cache, TLB, Virtual memory) - Представление в памяти объекта и класса. Хеш код объекта, 2 битная упаковка, однобитная упаковка слова состояния монитора - Реализация вызовов через интерфейс. - Реализация стека вызовов, реализация локальных данных нити. - Назначение планировщика и связь с синхронизацией. - Каузальная модель памяти Java - Атомарные операции. Толстые и тонкие мониторы. - Резервация мониторов. - Метрики скорости системы управления памятью. Способы выделения памяти. - Трехцветная раскраска, трехцветный инвариант, варианты реализации. - Подсчет ссылок. Двухпальцевый алгоритм. - Поколения объектов. Реализация. - Parallel Mark/Sweep. Concurrent Mark/Sweep (IBM JDK) - Break Table, Mark/Compact, Mark/Sweep/Compact. - Полупространственный копирующий алгоритм. - Сборка младших поколений в Oracle JDK CMS. - Характеристики алгоритма Sapphire. - Характеристики алгоритма Train. - Характеристики алгоритма G1. - Оптимизирующий JIT Компилятор. Особенности MRE. - Структура оптимизирующего компилятора. - Промежуточное представление и оптимизации высокого и низкого уровня. - Модель динамической перекомпиляции. Особенности JIT компилятора. Замена кода. - Динамическое профилирование. - Системы реального времени. Метрики систем реального времени. Проблемы реализации MRE реального времени. - Свойства JSR1. Типы памяти. Типы нитей. Особенности компиляции. - Характеристики алгоритма Metronome. - Транзакционная паямять - Протокол MESI - Intel Transactional Synchronization Extensions - Нарушение локальности и способы его исправления. Проблемы взаимодействия с OS и направления интеграции. - Характеристики стандартных тестовых нагрузок.