Что такое загрузка классов и статические блоки в Java?
Загрузка класса - это процесс сохранения в памяти информации, относящейся к классу. Информация, относящаяся к классу, означает информацию о членах класса, т. Е. Переменных и методах. Это точно так же, как прежде, чем выстрелить, нам нужно сначала зарядить пулю в пистолет. Точно так же, чтобы сначала использовать класс, нам нужно загрузить его с помощью загрузчика классов. Статический блок запускается только один раз в жизни класса. Он может получить доступ только к статическим членам и будет принадлежать только классу.
Статический блок, как и любой блок кода, начинающийся с ключевого слова static, является статическим блоком. Статический - это ключевое слово, которое при присоединении к методу, переменной, блоку делает его методом класса, переменной класса и блоком класса. Вы можете вызвать статическую переменную / метод, используя ClassName. JVM выполняет статический блок в «ВРЕМЯ ЗАГРУЗКИ КЛАССА».
Порядок исполнения: Для каждого статического блока существует порядок, в котором инициализируется статический блок / метод / переменная.
- Статический блок
- Статическая переменная
- Статический метод

Now figuring out the connection between class loading and static block after having an idea over the static block and class loading, it is found that execution of a static block happens when a class gets loaded for the first time. It is a series of steps.
Иллюстрация: демонстрация общего выполнения этого статического блока должна происходить с последовательностью шагов, как уже упоминалось.
При случайном рассмотрении java-файла File.java, имеющего в нем статический блок, следует ряд упомянутых шагов.
- Компиляция java файла.
- Выполнение java файла.
- JVM виртуальной машины Java вызывает основной метод в программе.
- Класс загружен, и теперь вся необходимая информация хранится в памяти.
- Начинается выполнение статического блока.

Example
Java
// Java Program to illustrate static block concept// alongside discussing the class loading // Importing all input output classesimport java.io.*; // Classclass GFG { // Static block static { // Static block will be executed first // before anything else // Print message System.out.println( "I am static block and will be shown to eyeballs first no matter what"); } // Main driver method public static void main(String[] args) { // Print message // Now main method will execute System.out.println( "I am the only line in main method but static block is hindering me to display first"); }} |
I am static block and will be shown to eyeballs first no matter what I am the only line in main method but static block is hindering me to display first
Вниманию читателя! Не переставай учиться сейчас. Ознакомьтесь со всеми важными концепциями Java Foundation и коллекций с помощью курса "Основы Java и Java Collections" по доступной для студентов цене и будьте готовы к работе в отрасли. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .