Java Runtime Environment Nedir? Nasıl Çalışır?

Java, popüler ve platformdan bağımsız bir programlama dilidir. Bu, aynı Java kodunun kaynakta herhangi bir değişiklik yapmadan herhangi bir sistemde derlenip çalıştırılabileceği anlamına gelir. Ancak, Java kodunu çalıştırmak ve yürütmek için Java Virtual Machine (JVM), Java Runtime Environment (JRE) ve Java Development Kit (JDK) gibi bazı araçlara ihtiyacınız vardır.

Bu üç aracın tümü platforma bağlı araçlardır. Bu üç aracı kullanarak bir Java programı oluşturabilir ve çalıştırabilirsiniz. Bu nedenle, bir Java geliştiricisi için herhangi bir Java kodunu veya bayt kodunu derlemeden ve çalıştırmadan önce bunların yüklenmesi gerekir. Üçlü arasında JDK ve JRE yazılımdır, JVM ise bir kavramdır. Bu nedenle, JVM’yi ayrı olarak kuramazsınız. 

JDK, JRE ve JVM’nin bir birleşimidir. Bu nedenle, JDK’yı kurduğunuzda veya indirdiğinizde, varsayılan JVM’yi içeren uyumlu bir JRE sürümünü içerecektir.

Runtime Environment Nedir?

Runtime environment yani çalışma zamanı ortamı, belirli bir kodu yürütmek ve çalıştırmak için bir ortam sağlayan bir yazılımdır. Çalışma zamanı ortamı, gerekli tüm dosyaları yükler ve programın çalışırken sistemden yeterli bellek ve diğer kaynakları almasını sağlar. C++ ve C gibi programlama dillerinin belirli bir çalışma zamanı ortamı yoktur. Tüm bellek kaynak tahsisi için işletim sistemine bağlıdır. Ancak, Java gibi programlama dilleri bir çalışma zamanı ortamı kullanır.

Java Runtime Environment Nedir?

Java Runtime Environment (JRE), bir Java programının yürütülmesini destekleyen yazılım araçları ve kitaplıkları içeren sanal bir ortamdır. JRE olmadan bir Java programı veya Java uygulaması bir sistemde çalışamaz. JRE, Java programlarını ve uygulamalarını yürütülmek üzere JVM’ye yüklemekten sorumludur. Ayrıca, yürütme için gerekli olan gerekli kitaplıkları ve araç setini sağlar.

Java ortamı mimari olarak her yıl büyür ve Oracle Corporation tarafından sürekli olarak geliştirilir. JRE mimarisi, bir Java programını veya Java uygulamasını yürütmek için birlikte çalışan UI araçları, entegrasyon kitaplıkları, temel destek kitaplıkları ve diğer yardımcı programları içerir.

Kullanıcı Arayüzü Araçları (UI Araçları)

JRE’nin oluşturduğu UI araçları, Java Abstract Window Toolkit (AWT) paketi, Java Swing paketi, görüntü ayrıştırma kitaplıkları, Java RX kitaplığı vb.’dir. Bu araçlar, UI deneyimi için Java topluluğu tarafından oldukça iyi bilinmektedir.

Entegrasyon Araçları

JRE’deki entegrasyon araçları çoğunlukla Java’nın uzaktan çalışma işlevleri için kullanılır. Bu araçlar, Java uygulamalarını ve diğer harici veri tabanlarını bağlamak için kullanılan iyi bilinen Java Database Connectivity (JDBC), Java istemcilerinin adları kullanarak verileri keşfetmesini sağlayan Java Naming Directory Interface teknolojisi (JNDI), Remote Method Invocation (RMI) içerir. 

Diğer Yerleşik Kitaplıklar

Java, geliştiricilere uygulama geliştirmede çok yardımcı olan API’ler sağlayan önceden oluşturulmuş kitaplıklardan oluşur. Bu kitaplıklardan bazıları, giriş/çıkış desteği için I/O kitaplıklarını, Java uygulamalarının ağ bağlantısı için ağ kitaplıklarını, Java uygulamalarında hata ayıklamak için günlük kitaplıkları içerir ancak bunlarla sınırlı değildir.

JRE’nin Özellikleri Nelerdir?

  • Java Runtime Environment, JVM’nin çalıştığı bir araçlar topluluğudur.
  • JRE, Java Web Start ve Java Plug-in dahil olmak üzere dağıtım teknolojisini içerir.
  • JRE, JVM ve Java HotSpot sanal makine istemcilerine sahiptir.
  • Java Database Connectivity (JDBC), Remote Method Invocation (RMI), Java Naming and Directory Interface (JNDI) ve daha fazlası gibi entegrasyon kitaplıkları içerir.

JRE Ne İşe Yarar?

Bir Java programını çalıştırmak kolaydır. Ancak JRE’nin temel mimarisi, yürütülmesi için neyin gerekli olduğunu tanımlar. JRE, bir Java programını yürütmek için gereken tüm kitaplıkları ve çekirdek sınıfları içerir. Bir Java programını her çalıştırdığımızda, JRE gerekli sınıfları ve diğer kitaplıkları o program için gerekli olan JVM ile birleştirir. JVM daha sonra bu sınıf ve kitaplıkları yükler ve kodu yürütmek için sanal bir ortam oluşturur.

Java Geliştirme Kiti (JDK) Varken Neden JRE Kullanalım?

JDK, Java programları ve uygulamaları oluşturmak için kullanılabilecek tüm araçlara ve yardımcı programlara sahip bir geliştirme kitidir. Bu araçlar temel olarak geliştiriciler için geliştirme ve hata ayıklama amaçlıdır. Bir geliştiriciyseniz, Java uygulamaları geliştirmek için JDK’ya ihtiyacınız vardır.

Ancak, zaten bir geliştirici tarafından oluşturulmuş Java uygulamalarını kullanmaya/yürütmeye ihtiyaç duyan bir kullanıcıysanız, sadece Java uygulamalarını yürütmek için gerekli bileşenleri içeren JRE’yi bilgisayarınıza yüklemeniz yeterlidir. Bu, geliştiriciye özel ve gerekli olmayan gereksiz araçları yüklemenizi önleyecektir.

JRE’nin JVM ile Çalışması

Java sanal makinesi, Java programlarının yürütülmesinden sorumludur. JRE, bazı kitaplıklarla birlikte JVM’den oluşur. Java kodunu alan ve Java Sanal Makinesinin bu kodu çalıştırabilmesi için gerekli kitaplıklarla birleştiren bir yazılımdır. Bu, JVM’nin kodu bir yorumlayıcı yardımıyla yürüttüğü anlamına gelir. JRE’nin tam çalışan Java çerçevesine bakarsak:

  • Derlenen kodu bellekten alır.
  • Java kodunu derleyen ana belleğe yükler.
  • Java Sanal Makinesi’nin sonunda onu çalıştırabilmesi için uygun Java sınıfı kitaplıklarına bağlar.

JRE’yi Yükleme

Java veya Java Standard Edition’ı kurduğunuzda, JRE’yi ayrıca kurmamız gerekmez. Java SE, JRE’nin uygun ve uyumlu bir sürümüne sahip JDK’dan oluşan eksiksiz bir paketle birlikte gelir. Java kodu, yalnızca bu sistemde JRE’nin uyumlu bir sürümüne sahip bir Java geliştirme kiti varsa platformdan bağımsız hale gelir.

JDK ve JRE Arasındaki Farklar

JRE ve JDK arasındaki temel fark, Java programını JRE kullanarak derleyememenizdir. Java kaynak dosyasını sınıf dosyaları oluşturmak üzere derlemek için gerekli araçlar, yani javac, JDK kurulumu ile birlikte gelir.

Adından da anlaşılacağı gibi JRE, Java programını çalıştırmak içindir ve tarayıcı eklentisi olarak geliştirilmiştir. Herhangi bir Java programını Internet Explorer, Mozilla Firefox veya Google Chrome gibi tarayıcılardan çalıştırmak için makinenizde JRE’nin kurulu olması ve tarayıcınızda da etkinleştirilmiş olması gerekir.

JRE, kullanıcılar içindir, JDK ise programcılar içindir. 

Java platformunda JRE ve JDK arasındaki fark budur. Daha önce de söylediğimiz gibi bir Java programını çalıştırmak için sadece JRE yeterlidir. Sadece Java platformunda programlama yapmak istiyorsanız JDK gereklidir. Normal internet kullanıcıları için JRE yeterlidir, ancak arada sırada farklı Java sürümleriyle gelen güvenlik açıklarına dikkat etmeniz gerekir.

JDK, JRE ve JVM Arasındaki Fark Nedir?

Aşağıdaki tabloda JDK, JRE ve JVM arasındaki farkları bulabilirsiniz:

JDK JRE JVM
JDK, Java Development Kit anlamına gelir. JRE, Java Runtime Environment’ın kısaltmasıdır. JVM, Java Virtual Machine anlamına gelir
Java’da uygulama geliştirmek için kullanılır. Java kodunu çalıştırmak için Java sınıfı kitaplıkları ve bileşenleri sağlar. Java bayt kodunu yürütür ve bunun için bir ortam sağlar.
Platforma bağlıdır. Platforma bağlıdır. Platforma bağlıdır.
Öncelikle kodların yürütülmesine yardımcı olur. Kod yürütme için bir ortam oluşturmaya yardımcı olur. Tüm bu uygulamaları sağlamakla yükümlüdür.
JDK, Java uygulamalarında hata ayıklama ve izleme gibi araçları içeren birincil geliştirmeden sorumludur. JRE, programı çalıştırmak için JVM’nin ihtiyaç duyduğu sınıf kitaplıkları ve diğer destekleyici dosyaları içerir. Yazılım geliştirme araçlarını içermez.
JDK = JRE + Geliştirme araçları JRE = JVM + Sınıf kitaplıkları JVM = Bir çalışma zamanı ortamı sağlar.

Özetle diyebiliriz ki, JRE, Java JDK’nın bir parçasıdır ve bir Java uygulamasını çalıştırmak istiyorsanız, sisteminizde olması gereken bir yazılımdır. İster Standard ister Enterprise olsun, Java’nın herhangi bir sürümünü yüklerken, bunların tümü uygun Java Sanal Makinesine sahip bir Java Runtime Environment içerir. JRE, tüm temel Java sınıfı kitaplıklarını, sınıf yükleyicilerini ve bir Java Sanal Makinesini içerir.

Java Runtime Environment İle İlgili En Çok Sorulan Sorular

1. Zaten JDK’mız var, JRE’ye ihtiyacımız var mı?

Java Runtime Environment’ı harici olarak kurmak gerekli değildir. Bunun nedeni, JRE’nin JDK paketiyle birlikte sunulmasıdır. JDK paketi, içinde hem JDK hem de JRE’yi içerir. Tek yapmanız gereken JDK paketini kurmaktır.

2. JDK’ya değil de yalnızca JRE’ye sahip olmak için ne gerekir?

Geliştirici olmayan veya Java uygulamaları geliştirmeyen kullanıcılar var. Bu durumda, JDK paketiyle birlikte gelen geliştirme araçlarına ihtiyacınız olmaz. Bu kullanıcılar, bilgisayarlarının Java uygulamalarını yürütmesini sağlamak için yalnızca JRE bölümünü harici olarak indirebilir ve bilgisayarlarına yükleyebilir.

3. JRE ve JVM’de JVM’nin rolü nedir?

Her ikisi de yerleşik olduğundan, hem JDK’nın hem de JRE’nin önemli bir parçasıdır. Bir Java programı JRE veya JDK kullanılarak yürütüldüğünde, JVM’ye gider ve JVM, java programlarını satır satır yönetmekten sorumludur. 

4. Java’da JVM kullanımı nedir?

JVM, Java uygulamalarını çalıştıran bir çalışma zamanı ortamı sağlar. Java bayt kodunu bir makine diline dönüştüren soyut bir makinedir. Programcılar tarafından başka dillerde yazılmış programları da çalıştırabilir.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.

Önceki Yazı

FinTech (Finansal Teknoloji) Nedir, Ne İşe Yarar?

Sonraki Yazı

NAS (Ağ Bağlantılı Depolama) Nedir?

İlgili Diğer Yazılar