Конкретно на примере:
1. Впервые с момента запуска программы обратились к static-члену (тип int) класса.
2. Произошла инициализация этого класса (выполнение static-блока и т. д.).
3. Обращаемся в static-методу этого-же класса. Вот именно в этот момент, откуда Java получает тело метода (команды): из .class файла на жёстком диске или из оперативной памяти?
То есть, при инициализации класса без создания объектов, из .class файла в другую область (скажем, оперативную память) попадает вообще вся информация из класса или только часть информации? Если только часть, то попадают ли: тела методов? то, что после =
у instance-полей?
Конкретно на ваш вопрос - из памяти. Если в момент работы запущенного приложения вы поменяете 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/,
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Подскажите пожалуйста, имеется сериализации класс, в нем необходимо переопределить метод например toString, после переопределения ранее сериализованные...
Реализован конвейер, состоящий из Manager, Reader, Executor1, Executor2, Writer, наследованные от Runnable (Executor1 дергает Reader, получает от него данные, обрабатывает,...
Не могу понять, как вывести двумерный массив с помощью foreach на языке java
Всем привет! Нужно построить круг из точек( заполненный), каждая точка будет иметь свое значение и из-за этого свой оттенок цвета, в результате...