Java ile yazılım geliştirmeye yeni başlayanların en çok karşılaştığı kavramlardan üçü: JDK, JRE ve JVM. Bu terimler sıkça karıştırılsa da her biri Java’nın farklı bir bileşenini ifade eder. Bu yazıda bu kavramları detaylı bir şekilde ele alacağız ve aralarındaki farkları açıklayacağız.
✅ JVM (Java Virtual Machine) – Java Sanal Makinesi
JVM, Java ile yazılmış programların çalışmasını sağlayan sanal bir makinedir.
JVM Ne İşe Yarar?
- Java kaynak kodları derlendiğinde
.class
uzantılı bytecode (ara kod) dosyalarına dönüşür. - Bu bytecode’lar, JVM tarafından işletim sistemine uygun şekilde çalıştırılır.
- JVM, yazdığınız Java kodunu donanıma bağımlı olmadan çalıştırır. Bu nedenle Java platformdan bağımsız (platform-independent) olarak tanımlanır.
JVM’in Özellikleri
- Bellek yönetimi (Garbage Collection)
- Güvenlik kontrolleri
- Çoklu iş parçacığı (multithreading) desteği
- Sınıf yükleyici (Class Loader)
✅ JRE (Java Runtime Environment) – Java Çalışma Ortamı
JRE, JVM’i çalıştırmak için gerekli olan kütüphaneler, dosyalar ve yardımcı araçlar bütünüdür.
JRE Ne İçerir?
- JVM (Java Virtual Machine)
- Java sınıf kütüphaneleri (core libraries)
- Java destek dosyaları (class dosyaları, kaynak dosyalar)
Ne Zaman Kullanılır?
Eğer yalnızca bir Java uygulamasını çalıştırmak istiyorsanız, JRE yeterlidir. Ancak yeni bir Java uygulaması geliştirmek için yeterli değildir.
✅ JDK (Java Development Kit) – Java Geliştirme Kiti
JDK, hem JRE’yi hem de Java uygulamaları yazmak ve derlemek için gerekli geliştirici araçlarını içeren bir yazılım paketidir.
JDK Ne İçerir?
- JRE (yani JVM ve sınıf kütüphaneleri dahil)
- Java derleyicisi (javac komutu)
- Java debugger (jdb)
- Javadoc, jar, javap gibi geliştirme araçları
Ne Zaman Kullanılır?
Yeni Java projeleri geliştiriyorsanız, mutlaka JDK’ya ihtiyacınız vardır. JDK, yazdığınız Java kodlarını derler ve çalıştırılabilir hale getirir.
🔁 JDK, JRE ve JVM Arasındaki Farklar
Özellik | JVM | JRE | JDK |
---|---|---|---|
Açılımı | Java Virtual Machine | Java Runtime Environment | Java Development Kit |
Amacı | Bytecode’u çalıştırmak | Java programlarını çalıştırmak | Java uygulamaları geliştirmek ve çalıştırmak |
İçeriği | Sadece sanal makine | JVM + kütüphaneler | JRE + derleyici + geliştirme araçları |
Kullanım | Geliştiriciye görünmez | Kullanıcılar içindir | Geliştiriciler içindir |
🎯 Hangi Durumda Hangisini Kurmalısınız?
- Sadece Java ile yazılmış bir programı çalıştırmak istiyorsanız → JRE
- Java programı yazmak, derlemek ve test etmek istiyorsanız → JDK
Not: Günümüzde JDK’nın içinde JRE de yer aldığı için genellikle doğrudan JDK kurulumu önerilir.
📌 Sonuç
JDK, JRE ve JVM, Java ekosisteminin üç temel yapı taşıdır. JVM, Java kodlarını çalıştıran sanal ortamdır. JRE, bu ortamı destekleyen çalışma platformudur. JDK ise Java geliştiricilerinin ihtiyaç duyduğu tüm araçları sunar.
Java ile sağlam temellerle ilerlemek istiyorsanız, bu kavramların mantığını iyi anlamanız çok önemlidir. Çünkü ileri düzey projelerde bu yapıların nasıl çalıştığını bilmek size büyük avantaj sağlar.