6.02.2010

JVM, JRE, JDK Nedir ?

        Java, sanal makinede çalışan bir dildir. Platform bağımsız olayı da nasıl oluyor acaba? Java'nın çalışma mantığında gizli diyebiliriz:)

  Programcı Java kodunu yazdığı vakit derleyici devreye girer bu Java derleyicisi byte kod denen makinenin anlayabileceği makine koduna çevirir. Biz yazdığımız kodu byte koda yani makinenin anlayabileceği koda çevirebiliyorsak artık her makine anlar bu kodu, çünkü bu her makinenin algılayabileceği machine code'tur{Tost makinesinde bile çalışır:)} Bu byte kod Java Virtual Machine tarafından step by step işletilir.
Burada JVM'nin amacı anladığınız gibi Donanım bağımsız kodu yorumlamayı ve çalıştırmasını sağlamaktır.

   Normalde çalışma mantığı nasıldır?
Öncelikle şunu belirtmek gerek, Tüm dillerde yazdığımız kodu yorumlayan gerçek mikroişlemcilerdir{Amd, Intel, Sun Sparc bla.}. Mikroişlemcinin mantığı ise belirli komutları işler. Tüm kodlar çalışabilmek için öncelikle bu komut kümelerine dönüştürülmek zorundadır.
JVM'de virtual bir işlemci gibi davranıp bizim byte kodumuzu yani makinenin anlayabileceği machine kodu step by step işler.
JVM'nin ne işe yaradığını biraz öğrendikten sonra, JRE'yi şöyle açıklayabiliriz:
Java çalıştırma ortamıdır nam-ı diğer Java Runtime Enviroment.
JRE'nin içinde JVM ve kütüphaneler bulunmaktadır.

  Yavaş yavaş compile etmek için birşeyler daha yüklememiz gerek, o da ne diyebilrsiniz. Şimdiye kadar olanlar sadece çalıştırmak içindi; ama biz kod yazmak birşeyler yapmak istiyorsak derleyiciye ihtiyacımız vardır.

 Java SDK'larını{Software development Kit}

-JDK Java Development Kit Tipleri-
J2ME:Mobil uygulamalar geliştirmek için tasarlanmıştır ve kısıtlıdır.
J2SE:Standart uygulamalar geliştirmek içindir.
J2EE:Kısacası hemen hemen hepsini kapsıyor, en üst düzey diyebiliriz:)recommended
buradanyükleyebiliriz.
Yüklemede sorun yaşayanlar için buradan destek alabilirler.

  Şimdi istediğiniz IDE{Integrated Development Enviroments}'yi kurup kodunuzu yazabilirsiniz.Yeri gelmişken belirtmekte fayda var, kodu çalıştırmak için IDE olmazsa olmaz değildir. Sadece kod yazarken işimizi kolaylaştırır.
Yoksa notepad'te yazdığımız kodu ornek.java diye kaydedip konsoldan çalıştırabiliriz.
IDE işimizi kolaylaştırır, imdadımıza yetişir avantajları saymakla bitmez.

   C#' ta kod yazarken Visual Studio IDE'si var ki; popularitesinin artmasında geniş bir kitle tarafından kullanımasındaki mühim etkenlerden birisidir bence.

 Java'da durum biraz farklı çok fazla IDE bulunmaktadır yaygın olarak kullanılanlar Eclipse, Netbeans, jdeveloper, intellij.

  IDE'lerden biraz daha bahsetmek gerekirse makinenizin özellikleri güzelse Netbeans kullanmak avantajlıdır kullanımı kolay ve görsel programlama basittir, dezavantajı sistemde baya yer kullanma gibi bir ihtiyaç hissediyor kendisinde:) O yüzden makineniz pek iyi özelliklere sahip değilse tercih sebebi değildir.Ayrıca plug-in desteği Eclipse'e oranla iyi değildir.
Eclipse'e bakarsak sistem kaynaklarını fazla yormuyor, plug-in konusunda iyi bu demek değil ki default Eclipse'te plug-in var, indirdikten sonra Visual editor eklentisini indirip bu eklenti ile görsel ayar çekebilirsiniz(Başka eklentilerde var) bu arada arkasına IBM'i almıştır Eclipse:)

 Kısa Bilgi:
 Deep Freeze kaldırmak için tuş kombinasyonu : CTRL+ALT+SHIFT+F6.

Hiç yorum yok:

Yorum Gönder