Что включено в процесс инициализации класса?

108
13 января 2022, 00:10

Конкретно на примере:
1. Впервые с момента запуска программы обратились к static-члену (тип int) класса.
2. Произошла инициализация этого класса (выполнение static-блока и т. д.).
3. Обращаемся в static-методу этого-же класса. Вот именно в этот момент, откуда Java получает тело метода (команды): из .class файла на жёстком диске или из оперативной памяти?

То есть, при инициализации класса без создания объектов, из .class файла в другую область (скажем, оперативную память) попадает вообще вся информация из класса или только часть информации? Если только часть, то попадают ли: тела методов? то, что после = у instance-полей?

Answer 1

Конкретно на ваш вопрос - из памяти. Если в момент работы запущенного приложения вы поменяете class то по умолчаню Java его не подхватит. ClassLoader загружает все классы в момент запуска приложения. Не путайте загрузку класса и его инициализацию. Инициализация произойдет после первого обращения. Можете посмотреть вот эти ссылки: http://java-online.ru/java-classloader.xhtml, https://javarush.ru/groups/posts/646-kak-proiskhodit-zagruzka-klassov-v-jvm, https://habr.com/ru/post/103830/,https://habr.com/ru/post/104229/,

READ ALSO
Изменение сериализованного класса

Изменение сериализованного класса

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

90
Вернуть поток в начальное положение

Вернуть поток в начальное положение

Реализован конвейер, состоящий из Manager, Reader, Executor1, Executor2, Writer, наследованные от Runnable (Executor1 дергает Reader, получает от него данные, обрабатывает,...

186
Как вывести все элементы двумерного массива с помощью foreach?

Как вывести все элементы двумерного массива с помощью foreach?

Не могу понять, как вывести двумерный массив с помощью foreach на языке java

139
Построить круг из точек

Построить круг из точек

Всем привет! Нужно построить круг из точек( заполненный), каждая точка будет иметь свое значение и из-за этого свой оттенок цвета, в результате...

153