Post by Pesimistyle on Oct 18, 2017 18:13:31 GMT
Java nasıl çalışır ?
C dili hızlı çalışma amacı birinci planda tutularak yaratılmış bir dildir. Java’da ise emniyet ilk planda yer almıştır. Hız açısından düşünüldüğünde Java’yı C ile kıyaslamak çok mantıklı değildir.
Java çok farklı ortamlarda kullanılabilen bir programlama dili olduğu için gelişim adımlarını tek standart kütüphane altında toplamak çok anlamlı değildir. Java teknolojileri bu sebeple 3′e bölünmüştür. Bu sayede her ortam için versiyonlama farklı farklı yapılabilir hale gelmiştir.
Java SE : Başta J2SE olarak anılan Java Standart Edition masaüstü ya da konsol uygulamaları geliştirmek için ihtiyaç duyduğumuz alt yapıya verilen genel isimdir. JDK 5.0 çıktıktan sonra Java Platform 2’den gelen 2 isimden çıkartılmıştır.
Java EE : İlk başta J2EE olarak anılan Java Enterprise Edition sunucu üzerinde çalışan uygulamalarda kullanılan bir teknolojilerin tümünün genel adıdır. Aslında kurallar bütünü diyebiliriz. Aynı sebepten daha sonradan “2” isimden çıkartılmıştır.
Java ME : Java Micro Edition ise mobil cihazlarda kullanılan uygulamalar (oyunlar gibi) için geliştirilmiş alt yapıya verilen genel isimdir.
İnternette Java ile ilgili arama yaptığımızda karşımıza bir sürü kavram çıkmaktadır. Bu kavramları öğrenmeden önce Java’nın nasıl çalıştığına göz atalım.
Önce yazılımcı Java kodunu herhangi bir metin düzenleyicisiyle yazar. Yazdığı kodu .java uzantısı ile kaydeder. Bu kod Java derleyicisi ile derlenir. Kod derlendikten sonra aynı isimde .class uzantılı bytecode adı verilen bir makine kodu ortaya çıkar. Bu kod bytecode olmasına rağmen tam olarak işlemcinin anlayabileceği bir dil değildir. Uygulamanın çalışabilmesi için bu kodun tekrardan derlenmesi gerekir. işte .class uzantılı bu kodların işletilme işini JVM denilen sanal makine gerçekleştirir.
JVM: (Java Virtual Machine) : Her işletim sisteminin kendi sanal makinesi vardır (Eğer kurulu ise). Ancak bu farklı JVM’ler aynı Java kodunu çalıştırırlar. Java’nın platform bağımsız olması Java Sanal Makinesi sayesinde olur.
Java’nın felsefesi olan “bir kere yaz her yerde çalıştır” sözü bu sayede gerçekleşmiş olur. Farklı ortamlar için farklı JVM’ler yazılmıştır. Yani Java aslında platform bağımsız bir dil olmasına rağmen JVM bağımlı bir dildir.
JRE: (Java Runtime Environment) : Bir Java uygulamasını çalıştırmak için gerekli minimum gereçleri içeren yapıya verilen isimdir. Yani bilgisayarımızda bir Java uygulamasının çalışabilmesi için JRE’nin kurulu olması gerekir. JRE içerisinde JVM de bulunur.
JDK: (Java Development Kit) : Kendimiz bir Java uygulaması geliştirmek istiyorsak o zaman JRE yetersiz kalır. JRE’nin yanında ekstra gereçler gereklidir. JDK dediğimiz yapı içerisinde Java Compiler, Java Interpreter, geliştirici toolları, Java API kütüphaneleri, Java geliştiricileri tarafından Java uygulamaları geliştirmek için kullanılan dokümantasyonlar bulunur. Ayrıca JVM ve JRE içerir.
JDK = JRE + JVM + derleyici + diğerleri diyebiliriz.
Java nesneye yönelik bir dildir ve tüm yazılım sınıflar ve nesneler üzerinden yürütülür. Bir Java programı yazıldıktan sonra önce derlenir ardından yorumlanır ve çalıştırılır. Yazılan uygulamanın büyüklüğü arttıkça sınıf sayısı da artacak ve derleme işlemi fazla zaman alacaktır. JIT (Just in Time) teknolojisi ile derleme devam ederken program da çalışmaya devam eder.
C dili hızlı çalışma amacı birinci planda tutularak yaratılmış bir dildir. Java’da ise emniyet ilk planda yer almıştır. Hız açısından düşünüldüğünde Java’yı C ile kıyaslamak çok mantıklı değildir.
Java çok farklı ortamlarda kullanılabilen bir programlama dili olduğu için gelişim adımlarını tek standart kütüphane altında toplamak çok anlamlı değildir. Java teknolojileri bu sebeple 3′e bölünmüştür. Bu sayede her ortam için versiyonlama farklı farklı yapılabilir hale gelmiştir.
Java SE : Başta J2SE olarak anılan Java Standart Edition masaüstü ya da konsol uygulamaları geliştirmek için ihtiyaç duyduğumuz alt yapıya verilen genel isimdir. JDK 5.0 çıktıktan sonra Java Platform 2’den gelen 2 isimden çıkartılmıştır.
Java EE : İlk başta J2EE olarak anılan Java Enterprise Edition sunucu üzerinde çalışan uygulamalarda kullanılan bir teknolojilerin tümünün genel adıdır. Aslında kurallar bütünü diyebiliriz. Aynı sebepten daha sonradan “2” isimden çıkartılmıştır.
Java ME : Java Micro Edition ise mobil cihazlarda kullanılan uygulamalar (oyunlar gibi) için geliştirilmiş alt yapıya verilen genel isimdir.
İnternette Java ile ilgili arama yaptığımızda karşımıza bir sürü kavram çıkmaktadır. Bu kavramları öğrenmeden önce Java’nın nasıl çalıştığına göz atalım.
Önce yazılımcı Java kodunu herhangi bir metin düzenleyicisiyle yazar. Yazdığı kodu .java uzantısı ile kaydeder. Bu kod Java derleyicisi ile derlenir. Kod derlendikten sonra aynı isimde .class uzantılı bytecode adı verilen bir makine kodu ortaya çıkar. Bu kod bytecode olmasına rağmen tam olarak işlemcinin anlayabileceği bir dil değildir. Uygulamanın çalışabilmesi için bu kodun tekrardan derlenmesi gerekir. işte .class uzantılı bu kodların işletilme işini JVM denilen sanal makine gerçekleştirir.
JVM: (Java Virtual Machine) : Her işletim sisteminin kendi sanal makinesi vardır (Eğer kurulu ise). Ancak bu farklı JVM’ler aynı Java kodunu çalıştırırlar. Java’nın platform bağımsız olması Java Sanal Makinesi sayesinde olur.
Java’nın felsefesi olan “bir kere yaz her yerde çalıştır” sözü bu sayede gerçekleşmiş olur. Farklı ortamlar için farklı JVM’ler yazılmıştır. Yani Java aslında platform bağımsız bir dil olmasına rağmen JVM bağımlı bir dildir.
JRE: (Java Runtime Environment) : Bir Java uygulamasını çalıştırmak için gerekli minimum gereçleri içeren yapıya verilen isimdir. Yani bilgisayarımızda bir Java uygulamasının çalışabilmesi için JRE’nin kurulu olması gerekir. JRE içerisinde JVM de bulunur.
JDK: (Java Development Kit) : Kendimiz bir Java uygulaması geliştirmek istiyorsak o zaman JRE yetersiz kalır. JRE’nin yanında ekstra gereçler gereklidir. JDK dediğimiz yapı içerisinde Java Compiler, Java Interpreter, geliştirici toolları, Java API kütüphaneleri, Java geliştiricileri tarafından Java uygulamaları geliştirmek için kullanılan dokümantasyonlar bulunur. Ayrıca JVM ve JRE içerir.
JDK = JRE + JVM + derleyici + diğerleri diyebiliriz.
Java nesneye yönelik bir dildir ve tüm yazılım sınıflar ve nesneler üzerinden yürütülür. Bir Java programı yazıldıktan sonra önce derlenir ardından yorumlanır ve çalıştırılır. Yazılan uygulamanın büyüklüğü arttıkça sınıf sayısı da artacak ve derleme işlemi fazla zaman alacaktır. JIT (Just in Time) teknolojisi ile derleme devam ederken program da çalışmaya devam eder.