Java Nasıl Çalışır ?

İbrahim Tuna Cört
Yetkin Yayın
Published in
3 min readSep 1, 2023

Java dilinde uygulama geliştirebilmeniz için JDK ve benzeri geliştirme araçlarına ihtiyacınız vardır. Jdk (java development kit) java dilinde program geliştirebilmek için gerekli olan Java derleyicisi (javac), Java yükleyicisi (java), Java hata ayıklayıcısı (jdb) ve diğer geliştirme araçlarını içerir. Bir de JRE (java runtime enviroment) vardır ki Java Sanal Makinesi (JVM), Java sınıf kitaplıkları ve diğer destekleyici bileşenleri içerir. JRE, Java programlarının herhangi bir platformda çalıştırılmasına izin verir

Java programlama dilinde, bir Java dosyası .java uzantısı ile kaydedilir. Örneğin, basit bir “Hello World” programı aşağıdaki gibi görünebilir:

public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}

Bu dosya, javac komutu kullanılarak derlenebilir (compile edilebilir). Derleme işlemi, Java kodunu makine tarafından anlaşılabilir bir forma dönüştürür. Derleme işlemi sonucunda, .class uzantılı bir dosya oluşturulur. Bu dosya, Java Bytecode olarak adlandırılır ve Java Sanal Makinesi (JVM) tarafından çalıştırılabilir.

Bu aşamayı şu şekilde gösterebiliriz.

https://www.bilgisayarmuhendisleri.com/sayfa.aspx?s=33
https://www.bilgisayarmuhendisleri.com/sayfa.aspx?s=33

Java Bytecode, platform bağımsızdır. Yani, herhangi bir işletim sisteminde çalıştırılabilir. Bu sayede, Java kodu yazarken işletim sistemi hakkında endişelenmenize gerek kalmaz. Kodunuz herhangi bir işletim sisteminde çalışacaktır.

Java Sanal Makinesi (JVM), Java Bytecode’u çalıştırmak için kullanılan bir yazılımdır. JVM, işletim sistemi ile Java Bytecode arasında bir arayüz görevi görür. JVM, Java Bytecode’u makine koduna dönüştürür ve işletim sistemi tarafından çalıştırılmasını sağlar.

Özetle, Java programlama dilinde kod yazarken, kodunuz .java uzantılı bir dosyada kaydedilir. Daha sonra bu dosya javac komutu ile derlenir ve .class uzantılı bir dosya oluşturulur. Bu dosya, Java Bytecode olarak adlandırılır ve JVM tarafından çalıştırılabilir. JVM, Java Bytecode’u makine koduna dönüştürür ve işletim sistemi tarafından çalıştırılmasını sağlar.

Görsel olarak da gösterecek olursak şu şekilde gözükecektir

Peki nedir bu jvm ?

Java Sanal Makinesi (JVM), Java programlama dilinin temel bir bileşenidir ve Java kodunu JVM’yi destekleyen herhangi bir platformda çalıştırmanıza izin verir. JVM, platformdan bağımsız olacak şekilde tasarlanmıştır; bu, onu destekleyen herhangi bir bilgi işlem mimarisi ve işletim sisteminde çalışabileceği anlamına gelir. Bu, Java’yı masaüstü bilgisayarlardan mobil cihazlara kadar herhangi bir sistemde çalışabilen platformlar arası uygulamalar oluşturmak için ideal bir dil haline getirir.

JVM, Java kodunu yorumlayarak ve ana makinenin çalıştırabileceği makine koduna çevirerek çalışır. Bir Java programı yürütüldüğünde, JVM önce gerekli sınıfları ve kitaplıkları belleğe yükler. JVM daha sonra güvenlik ve doğruluk gereksinimlerini karşıladığından emin olmak için bayt kodunu kontrol eder. Bayt kodu doğrulanırsa, JVM kodu, talimat talimat yürüterek yorumlamaya başlar. Yorumlama işlemi sırasında JVM, yürütme için kodu optimize etmek üzere bir tam zamanında (JIT) derleyici kullanır. JIT derleyicisi, kodun sıklıkla yürütülen bölümleri olan kod sıcak noktalarını derler. Optimize edilmiş kod, bellekte saklanır ve JVM’nin bir sonraki çağrıldığında daha hızlı yürütmesine izin verir.

JVM’nin avantajlarından biri de Java kodunun JVM’nin desteklediği herhangi bir platformda çalışmasına izin vererek yüksek düzeyde platform bağımsızlığı sağlamasıdır.

Son olarak bir soru sorayım java derlenebilen mi yoksa yorumlanan bi dil midir ?

Cevap: Java hem derlenen hemde yorumlanan bir dildir. Soruyu bilemediysen yazıyı bir kez daha dikkatlice okumanızı tavsiye ederim.

Umarım faydalı olmuştur bu yazım. Bir daha ki yazımda görüşmek üzere :)

Kaynak: https://www.bilgisayarmuhendisleri.com/sayfa.aspx?s=33

--

--