#howitworks #java
Деякі інтервʼюери, які люблять почухати своє ЧСВ та показати свою крутість - запитують в автоматизаторів щось, що взнали вчора.
Наприклад, вони питають як працює Java Virtual Machine у Java автоматизатора.
Приніс вам картинку, яка це пояснює. Тепер ви будете готові до цих питань.
Що робить JVM коли запускає ваш
Hello World:1. javac компілює ваш код в платформо-залежний байткод
2. Classloader додає необхідні базові класи JDK
3. Перевіряється безпека байткоду
4. Ініціалізуються статичні дані
5. Heap / Method Area доступні між потоками. Для кожного потоку створюється JVM stack, PС регістр та стек нативних методів
6. Інтерпретатор байткоду запускає ваш код. JIT компілятор виділяє частини коду, щоб зберегти в кеші
7. Ваша програма запускається як такий собі мікс інтерпретованого та JIT компільованого коду
Окреме питання, чи потрібно таке запитувати на співбесіді? Особливо на тест інженера. Як думаєте?
