JVM ve JRE Arasındaki Fark

JVM ve JRE

Java, platformlar arası bir programlama dilidir. Aynı zamanda “bir kez yaz, her yerde koş” ilkesine bağlı kalır. Java ile yazılmış program, Java derleyicisi tarafından Java bayt koduna derlenebilir. Ardından, bayt kodu JRE'yi (Java Çalışma Zamanı Ortamı) çalıştıran herhangi bir platformda yürütülebilir. JRE, JVM (Java Sanal Makinesi), taban kitaplıkları (Java API'sini uygulayan) ve diğer destek dosyalarını içerir. JVM, platformlara özgü JRE ve Java kodu arasında aracı görevi gören soyut bir bilgi işlem makinesidir..

JVM nedir?

JVM, makineler tarafından Java bayt kodunu yürütmek için kullanılan bir sanal makine türüdür. Sun Microsystems'a göre (son zamanlarda Oracle tarafından satın alınana kadar Java'yı geliştiren), dünyada 4 milyardan fazla JVM özellikli cihaz var. Daha spesifik olarak, Java Sanal Makinesi standart donanım ve işletim sistemine uygulanan soyut bir bilgi işlem makinesidir. JVM tarafından sağlanan önemli işlevlerden biri otomatik istisna yönetimidir. Tipik olarak, JVM'ye standart kütüphaneler koleksiyonu eşlik eder. Aslında JRE, JVM ve Java API'sini uygulayan sınıfları içeren bir pakettir. JVM, Java programlama dilinin “bir kez derle, her yerde çalıştır” doğasını barındıran çok önemli bir bileşendir. JVM çalıştığı sürece, makinede kullanılan platforma bakılmaksızın Java kodunuz bunun üzerinde çalışabilir. Bu nedenle Java'ya çapraz platform veya çok platformlu dil denir.

JRE nedir?

JRE, Java kodunun çalıştırıldığı yürütme ortamıdır. Genellikle JRE, JVM, standart temel sınıflar (temel Java API'sini uygulayan) ve diğer destek dosyalarından oluşur. JRE'nin türü ve yapısı işletim sistemine ve CPU mimarisine bağlı olarak değişir. Java kodu çalıştırıldığında, JRE işletim sistemi ile iletişim kurar ve bu da karşılık gelen donanım bileşenleri ile konuşur. Makinenizde herhangi bir java kodu çalıştırmak için JRE'nin sisteminizde yüklü olması şarttır. Ancak JRE, bir derleyici, hata ayıklayıcı veya Java programlarının (appletviewer ve javac gibi) geliştirilmesi için gereken diğer araçları içermez. Java'da program geliştirmeniz gerekiyorsa, JRE'yi de içeren JDK'ya (Java Geliştirme Kiti) sahip olmanız gerekir.

Ve JVM ve JRE arasındaki fark nedir?

Günlük kullanımda, JVM ve JRE terimleri birbirinin yerine kullanılsa da, farklılıkları vardır. JVM, işletim sisteminin üstünde çalışan bir sanal makine iken JRE, çalışma zamanı yürütme ortamıdır. JVM, JRE'nin bir parçasıdır. JVM belirtimi, platforma özgü JRE uygulaması ile standart Java kitaplıkları arasındaki bağlantı görevi görür. Bu nedenle JVM, iç uygulama detaylarından programcıya soyutlama sağlayan varlıktır. Ve derlenen bayt kodunun yorumlanmasından sorumludur. Ancak, JVM'nin java bayt kodunu yürütmek için temel kitaplıklara ve diğer destek dosyalarına ihtiyacı vardır. Ancak bazen, JRE sadece JVM'nin bir uygulaması olarak tanımlanır.