Member-only story
JVM ve Classpath
Java için bu iki kritik kavram neymiş bir bakalım…
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.HelloWorldJVM’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:









