Minter Coder Hack-Mack-Bi şeyler

05 Eylül

java jdk jvm jre java se

JDK,JRE ve JVM Karşılaştırma

Selam gençler;

Java'da JVM,JDK ve JRE görüyoruz bunlar nedir ne işe yarıyor aralarındaki fark nedir kafada soyut kalanlar için bu bloğu hazırlıyorum.

 

Gençler siz AŞÇI rolündesiniz okeyyyy ?

JDK (Java Development Kit) Nedir ?  -> Mutfak

Gençler şimdi olay şu siz yemek yapmak istiyorsunuz : JDK Java uygulamalarını geliştirip derleyip ve çalıştırmak için kullanılır. JDK kendi içerisinde sizin yemekleri yapabilmeniz için malzeler içeriyor bunlar : JRE+Javac+Tools(debugger,javac,vb.) bunlar vardır. 

Bunları da şuna benzetebilirsiniz JRE (Hem malzemeler), hem tencere,bıçak, ocak(compiler,error) içeriyor.

JRE (Java Runtime Environment) Nedir ? -> Lokanta

Bu sadece pişirilmiş yemeği yemek için yapılan ortamdır. Yani siz arkada yemeği pişirdiniz önde müşterinin yediği ortamdır diyebiliriz. İçinde : 

  • JVM (Motor)
  • Kütüphaneler (Java API: String,ArrayList,IO,vs..)

 

Yani şöyle düşünün siz MÜŞTERİ rolündesiniz ve bir lokantaya gittiniz aşçı olmadığınız için arkaya değil hemen bir masaya oturup yemeği yersiniz.

JRE de böyle;  bizim yazdığımız programı çalıştırmak için JRE tek son kullanıcı için yeterlidir JDK'yı indirmesine gerek yoktur.

JVM (Java Virtual Machine) Nedir ?  -> Ocak (Pişirme Motoru)

İşte asıl işi yapan motor kısmı burası yazdığımız Java dosyasını biz compiler (JDK) da derleyip .class dosyamız (binary code) çıkarttık ve bunu işletim sistemimize özgü olarak çalıştırıp bize çıktıyı gösteren motor burasıdır.  Yemeği pişiren yerdir yani yemeği eğer ki biz pişiremezsek yemek çiğ kalır işte pişirme işini yapan JVM'dir.

Trick Notlar : 

JVM,JRE ve JDK platformlara bağlımlı iken; bytecode (.class) dosyası platformdan bağımsızdır ve hepsi aynı üretilir.

 

"Write once, run anywhere" javanın bu açıklamasının ana temeli dostlar; yazdığınız herhangi bir işletim sistemindeki java kodunuzu derleyip .class binary code dosyasına çevirdiğinizde bunu : Windows JVM,Linux JVM yada MacOS JVM üzerinde çalıştırabilmenizden geliyor. Her lokantanın ocağı (JVM), o şehire özgüdür ama tarif (bytecode) her zaman aynıdır.

JDK = JRE + Geliştirme Araçları

JRE = JVM + kütüphaneler (çalıştırma ortamı

JVM = Çalıştırma ortamı