Java Runtime Environment (JRE), bir bilgisayarın işletim sisteminin üzerinde çalışan ve belirli bir Java programının çalıştırması gereken ek hizmetler sağlayan bir yazılım katmanıdır. JRE, Java uygulamaları geliştirmek ve çalıştırmak için bir üçlü oluşturan birbiriyle ilişkili üç bileşenden biridir. Diğer ikisi:
- Java Geliştirme Kiti (JDK): Java uygulamaları geliştirmek için bir dizi araç. JDK'lar, geliştiriciler tarafından Java Enterprise Edition gibi Java sürümü ve sürümüne göre seçilir. Sürüm veya basımdan bağımsız olarak, JDK her zaman uyumlu bir JRE içerir.
- Java Sanal Makinesi (JVM): Canlı Java uygulamalarını çalıştırır. Her JRE, varsayılan bir JVM içerir.
JRE, JDK kullanılarak oluşturulan Java kodunu JVM üzerinde çalıştırmak için gerekli kitaplıklarla birleştirir. Ardından, sonuçta ortaya çıkan programı yürüten JVM'nin bir örneği oluşturulur.
JRE, geliştiricilerin uygulamalar ve hizmetler arasında sorunsuz veri bağlantıları oluşturmasına yardımcı olmak için Java IDL, Java Veritabanı Bağlantısı ve Java Adlandırma ve Dizin Arayüzü gibi birçok entegrasyon kitaplığı sağlar. JRE ayrıca uygulamaların tasarımının temelini oluşturan paketleri içerir. Bazı paketler koleksiyon çerçevesi, eşzamanlılık yardımcı programları, tercihler API'si ve Java Arşivi içerir.
Java Runtime Environment nasıl çalışır?
Bir çalışma zamanı ortamı oluşturmak için JDK ve JRE, herhangi bir işletim sistemi içinde Java tabanlı uygulamaların sorunsuz bir şekilde yürütülmesini sağlamak için etkileşimde bulunur. Aşağıdaki işlemler çalışma zamanında gerçekleşir:
ClassLoader
Java ClassLoader, bir Java programını çalıştırmak için gereken tüm gerekli sınıfları dinamik olarak yükler. Yerel dosya sisteminin ad alanlarını ağ aracılığıyla içe aktarılanlardan ayırarak güvenlik sağlar. Java sınıfları yalnızca gerektiğinde belleğe yüklendiğinden, JRE bu talebi işlemek için ClassLoader'ı kullanır.
Bayt kodu doğrulayıcı
Bayt kodu doğrulayıcı, yorumlayıcıya geçmeden önce Java kodunun biçimini ve doğruluğunu sağlar. Ayrıca, nesneler üzerindeki erişim haklarını ihlal eden veya işaretçilerin uygulanmasını ihlal eden kod olan yasadışı kodu da kontrol eder. Bir kod ihlal ederse, sınıf bozuk kabul edilecek ve yüklenmeyecektir.
Çevirmen
Bayt kodu başarıyla doğrulandıktan sonra, çalışma zamanında yorumlayıcı tarafından yüklenir, kontrol edilir ve çalıştırılır. Yorumlayıcı, programın temel donanım üzerinde yerel olarak yürütülmesine izin veren bir JVM örneği oluşturur.