Sitemap
Ayşe Demirel Deniz

Ayşe Demirel Deniz

Highly motivated Software Engineer | Java & TS & JS | Everything about computer

Member-only story

JVM ve Classpath

Java için bu iki kritik kavram neymiş bir bakalım…

2 min readMar 29, 2023

--

Press enter or click to view image in full size

Classpath kavramı, javayı komut satırından çalıştırırsak dışarıdan verebileceğimiz parametrelerden gelir aslında. İçinde neler var diye baktığımızda JAR dosyaları ve derlenmiş Java class dosyalarını görürüz.

Yazının devamını göremeyenler “bu linkten” erişebilirler.

Örneğin aşağıdaki kodu yazdığımızda classpath’deki hem log4j.jar hem de classları başlatmış olduk. Sonuncu parametre olan “org.example.HelloWorld” ise main class ismi.

java -classpath log4j.jar:classes org.example.HelloWorld

JVM’in görevi class dosyalarındaki bu byte dosyalarını alıp class objesine dönüştürmek. Sonra da static main metodunu çalıştırmak. Yani kodu yükler, doğrular, çalışması için hazır hale getirir, runtime’da ihtiyaç olacak parametreleri sağlar.

Kaynak koddan işletim sisteminde çalışmasına kadar tüm macerası ve JVM’in yerini aşağıda görebiliriz:

JVM’in iç ilerleyişi ise aşağıda sıralandığı gibidir, classloader’dan başlayıp kodu nasıl library ile linklediğini görebiliriz:

--

--

Ayşe Demirel Deniz
Ayşe Demirel Deniz

Written by Ayşe Demirel Deniz

Highly motivated Software Engineer | Java & TS & JS | Everything about computer