logo

Java Yorumlanıyor mu, Derleniyor mu?

Java programlama dili 1990'ların başında Sun Microsystem tarafından geliştirildi. Java, nesne yönelimli, basit, verimli, sağlam ve genel amaçlı bir programlama dilidir. Öncelikle web tabanlı kurumsal uygulamalar için kullanılır. Başlangıçta farklı platformlarda çalışan gömülü ağ uygulamaları için tasarlandı.

Öğrenmeye başladığımızda Java programlama , bir soru ortaya çıkıyor: Java yorumlanıyor mu, Derleniyor mu, yoksa her ikisi de mi? Ayrıca bu soru, Java ile ilgili görüşmelerinizde görüşülen kişi tarafından da sorulabilir. Yani bu sorunun cevabı Java hem yorumlanır hem de derlenir . Ancak Java'nın derlenip derlenmediği veya yorumlanıp yorumlanmadığı açık değildir. Ne bir kaynak dosyayı derledikten sonra makine kodu üretir ne de kod talimatlarını satır satır yürütmek için kaynak dosyayı yorumlar. Bu soruyu cevaplamak için Java'nın nasıl platformdan bağımsız bir dil olduğunu anlamamız gerekiyor. Bu da demek oluyor ki Java kodunu bir platform üzerinde yazabiliyoruz ve donanım işletim makinesi gibi diğer platformlarda hiçbir değişiklik yapmadan çalıştırabiliyoruz. Dolayısıyla Java'nın platform bağımsızlığını nasıl elde ettiğini anlamak bu soruya tam bir cevap sağlayacaktır.

Java tamamen taşınabilirdir; Aynı Java kodu, donanım uyumluluğuna veya işletim sistemlerine bakılmaksızın farklı platformlarda aynı şekilde çalışacaktır.

Java kaynak kodu, önce Java derleyicisi kullanılarak ikili bayt koduna derlenir, daha sonra bu bayt kodu, yazılım tabanlı bir yorumlayıcı olan JVM (Java Virtual Machine) üzerinde çalıştırılır. Yani Java hem yorumlanmış hem de derlenmiş olarak kabul edilir.

Derlenmiş bayt kodu şunları sağlar: JVM küçük, verimli ve hızlı performansa sahip olmak. Ayrıca bu bayt kodu Java programlama diline taşınabilirlik sağlar. Makinenin donanım ve yazılım bileşenlerine ve yapılandırmalarına bakılmaksızın, bu kodun bir makinede düzgün şekilde uygulanan herhangi bir JVM'de çalıştırılmasına olanak tanır. Hemen hemen tüm web tarayıcıları Java uygulama kodunu yürütmek için JVM içerir.

Basit bir Java programıyla anlayalım:

Basit Java Programı ve Çalışıyor

Favori metin düzenleyicinizi kullanarak basit bir .java dosyası oluşturun:

Java Yorumlanıyor mu, Derleniyor mu?

Aşağıdaki kodu içine koyun:

 class Basic{ public static void main(String args[]){ System.out.println('Hello JavaTpoint'); } } 

Ve dosyayı kaydedin.

Şimdi .java dosyasını kaydettiğimiz dizinimizi kontrol edin.

Java Yorumlanıyor mu, Derleniyor mu?

Bir Java uygulamasını iki adımı izleyerek çalıştırabiliriz.

  1. Java programını derleyin
  2. Uygulamayı yürütün

Java uygulamasını derleyin:

Java programını derlemek için aşağıdaki komutu yürütün:

 javac Basic.java 

Yukarıdaki komut, Java programını derleyecek ve Java uygulamasının bayt kodunu içeren Java programının bir .class dosyasını oluşturacaktır.

Java Yorumlanıyor mu, Derleniyor mu?

Yukarıdaki çıktıdan Java programını derledikten sonra bir .class dosyasının oluşturulduğunu görebiliriz. Bu dosya Java programının bayt kodunu içerir. Bu bayt kodunu JVM uygulayan makinelerden herhangi birine uygulayabiliriz.

Uygulamayı yürütün:

Bu uygulamayı çalıştırmak için aşağıdaki komutu yürütün:

 java Basic 

Yukarıdaki komut bayt kodunu yürütecek ve programın işlevselliğini gerçekleştirecektir:

Java Yorumlanıyor mu, Derleniyor mu?

Yukarıdaki çıktıdan basit bir ifade yazdırdık.

Java programının adım adım yürütülmesi:

Java Yorumlanıyor mu, Derleniyor mu?
  1. Java kodunu yazın ve dosyayı kaydedin. .java
  2. Şimdi bu dosya javac olan Java derleyicisi kullanılarak derlenecektir.
  3. Java Derleyicisi, Java dosyasını derleyecek ve bayt koduna sahip bir .class dosyası oluşturacaktır (bu, C derleyicisinin aksine aslında bir makine kodu değildir)
  4. Oluşturulan bu bayt kodu çalıştırılamayan bir koddur ve artık onu makine koduna dönüştürmek için bir yorumlayıcıya ihtiyaç duyar. Burada JVM bunu hallediyor.
  5. Şimdi JVM, bir makinede Java bayt kodunu yürütmek için bu bayt kodunu çalıştıracaktır.
  6. Artık programımız işlevselliği yerine getirecek ve istenilen çıktıyı verecektir.

Çözüm:

Java hem yorumlanmış hem de derlenmiş olarak kabul edilir. Bir Java uygulamasını bir makinede tamamen yürütmek için bir Java derleyicisi (javac) ve JVM (aslında yazılım tabanlı bir yorumlayıcıdır) kullanır.