JVM ve JRE Arasındaki Fark

JVM ve JRE

Java, üzerine yazılan programların hemen hemen her platformda yürütülme biçiminde benzersiz olan üst düzey bir programlama dilidir. Ancak programı bir bilgisayarda çalıştırmadan önce belirli yazılımları yüklemeniz gerekir; bazıları JVM olarak adlandırırken, bazıları JRE kullanır. Çoğu insan aynı şeye atıfta bulunsa da, JVM ve JRE arasında bazı farklılıklar vardır. JVM aslında JRE'nin bir parçası olan bir uygulamadır. Bir uygulamayı çalıştırmak için JVM'yi içeren bir JRE'ye ihtiyacınız vardır.

JVM, Java Sanal Makinesi anlamına gelir ve Java programlarının yazıldığı kodu anlayan sanal bir bilgisayar oluşturur. Java programları işletim sistemine özgü bir şekilde yazılmaz. Bu, herhangi bir platformda çalışma olanağı sağlar, ancak komutları temel olarak Java bayt kodundan belirli makine koduna çevirmek için bir JVM kullanılmasını gerektirir..

Tüm programlar için gereken her şey JVM'de bulunmaz. Bazıları paket sınıfları olarak adlandırılır. AWT, Swing, lang ve diğerleri gibi paketler JVM'ye daha karmaşık özellikler sağlar. Tüm bu destek dosyalarını JVM ile birleştirdiğinizde JRE veya Java Runtime Environment denir. En basit ifadeyle, JRE, JVM ve bir Java programının çalışabileceği ortamı sağlayan paketler gibi birçok destekleyici dosyanın birleşimidir..

Son kullanıcının Java uygulamalarını düzenleme veya oluşturma olasılığı olmadığından JRE, Java uygulamalarını kodlama, denetleme ve hata ayıklama ile ilgili herhangi bir dosya içermez; tüm bunlar başka bir Java yazılım paketinde bulunur. Bu, çoğu kullanıcının JRE'yi indirip yüklemesini kolaylaştırmak ve hızlandırmak için JRE'nin boyutunu en aza indirir. Her yazılım platformunun (yani Windows, Linux, Mac) kendi JRE ve JVM'si vardır, bu yalnızca üzerinde çalışır ve başka hiçbir şekilde çalışmaz. Bu nedenle, sahip olduğunuz işletim sistemi için belirli bir JRE'yi indirirken dikkatli olmalısınız. Her JRE sürümü her zaman tamamlayıcı JVM'sini içerecektir, bu nedenle yanlış JVM'yi alma konusunda şüphe yoktur.

Özet:

1.JVM, JRE'nin sadece bir parçasıdır
2.JRE, JVM dışında Java paket sınıfları içerir