👨‍💻JDK, JRE ve JVM Arasındaki Farklar

Ali Osman ARSLAN
Huawei Developers - Türkiye
4 min readApr 18, 2023
JDK vs JRE vs JVM

Giriş

Merhaba, bu makalede, bu bileşenler arasındaki farkları ve Java geliştirme sürecindeki rollerini tartışacağız. Java, yazılım uygulamaları geliştirmek için kullanılan yaygın bir programlama dilidir. Java uygulamaları geliştirmek ve çalıştırmak için üç temel bileşen gereklidir: Java Geliştirme Kiti (JDK), Java Çalışma Ortamı (JRE) ve Java Sanal Makinesi (JVM).

Hadi başlayalım

Java Geliştirme Kiti (JDK)🛠️👨‍💻

JDK, Java uygulamaları geliştirmek için kullanılan bir yazılım geliştirme ortamıdır. Java derleyicisi, Java çalışma ortamı ve API’ler gibi programlama araçlarını içerir. JDK ayrıca, Java kodu için belge oluşturmak için kullanılan Javadoc gibi diğer geliştirme araçlarını da içerir.

JDK, Java kodunu derlemek, hata ayıklamak ve yürütmek için gerekli araçları sağlar. Java derleyicisi, Java kodunu JVM tarafından yürütülebilen bytecode’a derlemek için kullanılır. JDK, Windows, Linux ve macOS gibi farklı işletim sistemleri için indirilebilir.

Java Çalışma Ortamı (JRE)🧑‍💻

JRE, Java uygulamalarını çalıştırmak için kullanılan bir yazılım ortamıdır. JVM, sınıf kitaplıkları ve Java uygulamalarını çalıştırmak için gereken diğer dosyaları içerir. JRE, sadece JDK’da bulunan Java derleyicisini içermez.

Bir kullanıcı bir Java uygulaması yüklediğinde, uygulamayı çalıştırmak için JRE gereklidir. JRE, Windows, Linux ve macOS gibi farklı işletim sistemleri için indirilebilir.

Java Sanal Makinesi (JVM)🤖📝

JVM, Java bytecode’ını yürüten bir yazılım motorudur. JVM, Java kodunu yürütmek için platform bağımsız bir ortam sağlar. JVM, Java bytecode’ını, altındaki donanıma uygun makine talimatlarına dönüştürür. JVM, Windows, Linux ve macOS gibi farklı işletim sistemleri için mevcuttur.

JVM, taşınabilirlik, güvenlik ve bellek yönetimi gibi birçok avantaj sağlar. Java uygulamalarının yeniden derlenmesine gerek olmadan herhangi bir platformda çalışabilmesini sağlar. Ayrıca, JVM, Java kodunu yürütmek için güvenli bir ortam sağlayarak kötü amaçlı kodların sistem kaynaklarına erişmesini önler. Ek olarak, JVM, Java uygulamalarında bellek yönetimini otomatik hale getirerek geliştiricilerin bellek yönetimini daha kolay bir şekilde yönetmelerini sağlar.

Referans

JDK, JRE ve JVM Arasındaki Farklar

JDK, JRE ve JVM, Java geliştirme ve yürütme ortamının farklı bileşenleridir. Bu bileşenler arasındaki farklar şunlardır:

  1. JDK, Java derleyicisi, JRE ve diğer geliştirme araçlarını içerirken, JRE sadece JVM ve sınıf kitaplıklarını içerir.
  2. JDK, Java uygulamaları geliştirmek için kullanılırken, JRE Java uygulamalarını çalıştırmak için kullanılır.
  3. JVM, Java bytecode’ını yürüten bir yazılım motorudur ve JDK ve JRE, JVM’yi içeren yazılım ortamlarıdır.
  4. JDK ve JRE, platforma bağımlıdır ancak JVM, platformdan bağımsızdır.
  5. JDK, geliştirme araçlarını içerdiği için JRE’den daha büyüktür.
  6. Java uygulamalarını çalıştırmak için JRE gereklidir, ancak JDK sadece Java geliştirme için gereklidir.

ÖRNEK VERMEK GEREKİRSE🧐

Örnek olarak bir Java uygulamasının geliştirilmesi ve çalıştırılması sürecinde JDK, JRE ve JVM’nin rollerini ele alabiliriz.

Java uygulamaları geliştirme aşamasında JDK kullanılır. Örneğin, bir yazılım geliştirici bir Java uygulaması oluşturmak istediğinde, öncelikle bir kod editörü kullanarak Java kodunu yazacak ve sonra bu kodu derleyecektir. Kodu derlediğinde, bir byte kodu dosyası oluşturulacaktır. Bu byte kodu dosyası JVM tarafından yürütülebilir bir biçime dönüştürülecektir.

Bunun için JDK’nın içindeki Java derleyicisi kullanılacak ve byte kodu dosyası oluşturulacaktır. Ayrıca, JDK, geliştiricilere diğer araçlar da sunar, örneğin, Java Dökümantasyon Aracı, Java Hata Ayıklama Aracı ve diğerleri gibi.

Java uygulaması hazır olduğunda, JRE kullanılır. JRE, JVM ve sınıf kitaplıklarını içerir. JRE, JVM’yi yürütmek ve uygulamayı çalıştırmak için gereklidir. Örneğin, bir kullanıcı, bir Java uygulamasını çalıştırmak istediğinde, öncelikle JRE’yi sisteminde kurmalıdır. Daha sonra, JRE’nin içindeki JVM, byte kodu dosyasını yürüterek Java uygulamasını çalıştıracaktır.

Bu örnekler, JDK, JRE ve JVM’nin farklı rollerini ve kullanımlarını açıklamaktadır.

Referans

SONUÇ🍾

Özetle, JDK, JRE ve JVM, Java geliştirme ve yürütme ortamının üç temel bileşenidir. JDK, Java uygulamaları geliştirmek için kullanılır, JRE Java uygulamalarını çalıştırmak için kullanılır ve JVM, Java bytecode’ını yürütmek için kullanılır. JDK ve JRE platforma bağımlıdır, ancak JVM platformdan bağımsızdır. Bu bileşenler arasındaki farkları anlamak, Java geliştiricilerinin Java uygulamalarını etkili bir şekilde geliştirmeleri ve çalıştırmaları için önemlidir.

Bir sonraki yazımızda görüşürüz👋

Referans

--

--