JVM ve JRE Arasındaki Fark
JVM vs JRE
Java, çapraz platform bir programlama dilidir. Aynı zamanda "bir kere yaz, her yere koş" ilkesine bağlı. Java ile yazılmış program, Java derleyicisi tarafından Java bayt kodu olarak derlenebilir. Ardından, bytecode, JRE (Java Runtime Environment) çalıştıran herhangi bir platformda yürütülebilir. JRE, JVM'yi (Java Sanal Makinesi), temel kitaplıkları (Java API'sını uygular) ve diğer destek dosyalarını içerir. JVM, platformlara özgü JRE ve Java kodu arasındaki arabulucu rolü olan soyut bir bilgi işlem makinesidir.
JVM nedir?
JVM, Java bayt kodu çalıştırmak için makineler tarafından kullanılan bir sanal makine türüdür. Sun Microsystems'a göre (yakın zaman önce Oracle tarafından satın alınana kadar Java geliştiren), dünyada 4 milyondan fazla JVM özellikli cihaz bulunmaktadır. Daha özel olarak, Java Virtual Machine, standart donanım ve işletim sisteminde uygulanan soyut bir bilgi işlem makinesidir. JVM'nin sağladığı önemli işlevlerden biri, otomatik özel durum işleme yöntemidir. Genellikle, standart kütüphanelerden oluşan bir koleksiyon JVM'ye eşlik eder. Aslında, JRE, JVM'yi ve Java API'sını uygulayan sınıfları içeren bir pakettir. JVM, Java programlama dilinin "bir kere derlenin, her yerde çalıştırın" özelliklerini barındıran çok önemli bir bileşentir. JVM çalıştığı sürece, makinenizde kullanılan platform ne olursa olsun, Java kodunuzun üstünde çalışabilir. Bu yüzden Java'ya çapraz platform veya çoklu platform dili denir.
JRE Nedir?
JRE, Java kodunun çalıştırıldığı yürütme ortamıdır. Genellikle JRE, JVM, standart temel sınıflardan (temel Java API'sini uygulayan) ve diğer destek dosyalarından oluşur. JRE'nin yapısı ve yapısı, işletim sistemine ve CPU mimarisine göre değişir. Java kodu çalıştırıldığında, JRE işletim sistemi ile iletişim kuracak ve bu da ilgili donanım bileşenleriyle konuşacaktır. JRE'nin sisteminize yüklenmesi, makinenizdeki herhangi bir java kodunu çalıştırmak için şarttır. Bununla birlikte, JRE, Java programlarının geliştirilmesi (appletviewer ve javac gibi) için gerekli olan bir derleyici, hata ayıklayıcı veya diğer araçları içermez. Java programlarını geliştirmeniz gerekiyorsa, JRE'yi de içeren JDK'ya (Java Development Kit) sahip olmanız gerekir.
JVM ve JRE arasındaki fark nedir?
Günlük kullanımda JVM ve JRE terimleri birbirinin yerine kullanılmasına rağmen, farklılıkları vardır. JVM, işletim sisteminin üstünde çalışan, JRE ise çalışma zamanı yürütme ortamı olan sanal bir makinadır. JVM, JRE'nin bir parçasıdır. JVM belirtimi, platforma özel JRE uygulaması ve standart Java kitaplıkları arasındaki bağlantı olarak işlev görür.Bu nedenle, JVM iç uygulama ayrıntılarından soyutlamayı programlayana sağlayan varlıktır. Ve derlenmiş bayt kodunun yorumlanmasından sorumludur. Bununla birlikte, JVM, java bayt kodunu yürütmek için temel kitaplıklara ve diğer destekleyen dosyalara ihtiyaç duyar. Ancak bazen, JRE basitçe JVM'nin bir uygulaması olarak tanımlanır.