"JVM Nədir və Necə İşləyir?"
Java Virtual Machine (JVM), Java proqramlarının işə salınması və icrası üçün nəzərdə tutulmuş xüsusi bir virtual maşındır. JVM, Java proqramlarını yazıldığı platformadan asılı olmayaraq, müxtəlif platformalarda icra etməyə imkan verir. JVM-in əsas məqsədi Java kodunu maşın koduna çevirmək və icra etməkdir.
JVM-in Əsas Xüsusiyyətləri və Vəzifələri
- Platformadan Asılı Olmayan İcra:
- Java proqramları bir dəfə yazılır və müxtəlif platformalarda işə salına bilir. Bu, JVM-in hər bir platforma üçün xüsusi olaraq qurulmuş versiyasının olması ilə mümkündür.
- Bytecode İcra:
- Java mənbə kodu (
.java
faylları) əvvəlcə Java kompilyatoru (javac
) tərəfindən bytecode-a (.class
faylları) çevrilir. JVM bu bytecode-u oxuyur və icra edir.
- Java mənbə kodu (
- Just-In-Time (JIT) Kompilyasiya:
- JVM icra zamanı bytecode-u maşın koduna çevirmək üçün JIT kompilyasiyasından istifadə edir. Bu, proqramların daha sürətli icra olunmasına kömək edir.
- Zibil Toplama (Garbage Collection):
- JVM avtomatik olaraq istifadə edilməyən yaddaş sahələrini təmizləyir və bu, yaddaş idarəetməsini asanlaşdırır.
- Təhlükəsizlik:
- JVM icra zamanı təhlükəsizlik nəzarəti həyata keçirir və zərərli kodun işləməsini məhdudlaşdırır.
JVM-in İş Prosesi
JVM-in iş prosesi ümumilikdə aşağıdakı addımlardan ibarətdir:
- Yükləmə (Class Loading):
- Java sinifləri JVM tərəfindən yüklənir. Bu mərhələdə
.class
faylları JVM-in yaddaşına daxil edilir.
- Java sinifləri JVM tərəfindən yüklənir. Bu mərhələdə
- Verifikasiya (Class Verification):
- Yüklənmiş siniflərdəki bytecode təhlil edilir və təhlükəsizlik yoxlamaları aparılır.
- Hazırlıq (Class Preparation):
- Statik dəyişənlər üçün yaddaş ayrılır və ilkin dəyərlər təyin edilir.
- Tərcümə (Compilation):
- Bytecode JIT kompilyatoru tərəfindən maşın koduna çevrilir.
- İcra (Execution):
- Hazırlanmış maşın kodu JVM tərəfindən icra edilir.
- Zibil Toplama (Garbage Collection):
- JVM işlədikcə, istifadə edilməyən obyektlər avtomatik olaraq yaddaşdan silinir.
JVM və Java-nın "Write Once, Run Anywhere" (WORA) Prinsipi
JVM-in əsas üstünlüklərindən biri, Java proqramlarının "bir dəfə yaz, hər yerdə işə sal" prinsipinə uyğun gəlməsini təmin etməsidir. Yəni, Java proqramları bir dəfə yazıldıqdan sonra fərqli əməliyyat sistemlərində və platformalarda heç bir dəyişiklik etmədən işləyə bilir. Bu, JVM-in hər bir əməliyyat sistemi üçün xüsusi olaraq optimallaşdırılmış versiyasının mövcud olması ilə təmin edilir.
Nəticə
Java Virtual Machine (JVM), Java proqramlarının icrası üçün əsas mexanizmdir və Java-nın platformadan asılı olmayan mühitini təmin edir. JVM, bytecode-u icra edərək Java proqramlarını müxtəlif platformalarda işləməyə imkan verir və yaddaş idarəetməsi, təhlükəsizlik və performans optimallaşdırılması kimi bir çox əlavə funksiyalar təklif edir.