Как работает JVM?

1. загрузчик классов()

2. Область памяти

3. Исполнительный движок

1. загрузчик классов()

Процесс загрузки, связывания и инициализации используется JVM, чтобы сделать типы доступными для исполняемой программы.

Загрузка

Его основная задача — загрузить класс в память. (Ex.Boostrap загрузчик классов, настраиваемый загрузчик классов)

Hello.java › Hello.class › Загрузка JVM (требуется полное имя класса (com.company.sample…), переменная информация, непосредственная родительская информация, класс или интерфейс или перечисление)

Когда класс загружается, JVM создает объект в типе данных java из файла класса.

Связывание

Три шага в процессе связывания заключаются в следующем:

Проверка — при попытке загрузить класс Java есть подпрограмма, называемая проверкой байт-кода. Он проверит, исходит ли это от действительного компилятора, имеет ли он исправленную структуру и имеет ли этот файл класса исправленное форматирование. JVM генерирует исключение во время выполнения, называемое verifierException, если какое-либо из этих условий не выполняется.

Подготовка — при использовании переменной уровня экземпляра или статической переменной уровня в части подготовки класса для нее будет назначено значение по умолчанию.

Разрешение — Приходится все делать на некоторых языках ассемблера. В Java мы можем создавать собственные классы для разных сценариев. Java позволяет нам использовать специфические для предметной области термины, такие как Сотрудник/Студент. JVM заменяет символические ссылки прямыми ссылками до достижения машинного уровня.

Инициализация

Это последний шаг в процедуре загрузки классов. Здесь исходные значения присваиваются статическим переменным, и выполняются статические блоки.

2. Область памяти

✓ Класс загрузит всю информацию о классе в область методов в памяти при загрузке. Каждая JVM имеет только одну область методов.

✓ Область памяти heap — это место, где хранится вся информация об объекте. Для каждой JVM есть только одна область кучи.

Стек хранит информацию о методе. За нить.

Регистры ПК содержат информацию о следующем выполнении. За нить.

Область собственного метода, при доступе к любому собственному методу в программе она предоставляет возможность хранить собственный метод и информацию о методе. За нить.

3. Исполнительный движок

Исполнительный механизм является центральным компонентом JVM. Он взаимодействует с различными ячейками памяти JVM. Каждый поток работающей программы является собственным экземпляром механизма выполнения. Механизм выполнения запускает байтовый код, который загружается в области данных времени выполнения JVM через загрузчик классов. Механизм выполнения выполняет файлы классов Java.

Спасибо за чтение! Если вам понравилось, ставьте аплодисменты и подписывайтесь на мою страницу.

Кишара Буддика