Java nedir?
Java, uygulama geliştirme için bir programlama dili ve bilgi işlem platformudur. İlk olarak Sun Microsystem tarafından 1995’te piyasaya sürülmüş ve daha sonra Oracle Corporation tarafından satın alınmıştır. En çok kullanılan programlama dillerinden biridir.
Java Platformu nedir?
Java platformu, Java programlama dilinde yazılmış programların geliştirilmesine ve çalıştırılmasına yardımcı olan bir program koleksiyonudur. Java platformu bir yürütme motoru, bir derleyici ve bir dizi kütphane içerir. JAVA platformdan bağımsız bir dildir. Herhangi bir işlemci veya işletim sistemine özgü değildir.
JAVA programlama dilini anlamak için, bir bilgisayar programının bir komutu nasıl çalıştırabileceği ve işlemi nasıl yürütebileceği ile ilgili bazı temel kavramları anlamamız gerekir.
PC nedir?
Bir bilgisayar, hesaplamaları gerçekleştirebilen elektronik bir cihazdır ve hepimiz, bilginin saklanması için bir monitör, klavye, fare ve hafızadan oluştuğunu biliyoruz. Ancak bilgisayarın en önemli bileşeni bir İŞLEMCİ’dir. Bu bileşen ile tüm fikirlerimizi gerçekleştiririz, ama soru bu fikirlerimizi bilgisayarın nasıl yaptığıdır?
Assembly dili nedir?
Bilgisayar elektronik bir aygıttır ve yalnızca elektrik sinyalleri veya ikili sinyalleri anlayabilir. Örneğin, 5 voltluk elektrik sinyali ikili sayı sisteminede 1’i gösterebilirken, 0 volt ikili sayı sisteminde 0’ı temsil edebilir. Böylece PC’niz bu sinyallerle sürekli olarak bombardımana tutulur.
Örneğin, # sembolü bilgisayar tarafından 10101010 olarak tanımlanır. Benzer şekilde, bir ekleme metodu 10000011 ile temsil edilir.
Bu 8 bit bilgi işlem olarak bilinir. Günümüzün 64-bit işlemci zamanına sahip bilgisayarlar var. Fakat bu kavramın JAVA programlama dili ile ilişkisi nedir? Bunları örnek olarak anlatayım.
Bilgisayarı, bazı ikili sayılar (10000011) ile gösterilen iki sayı (1 + 2) toplamayı söylemek isterseniz, bilgisayara nasıl söyleyeceksiniz? Evet, kodumuzu gerçekleştirmek için assembly dilini kullanacağız.
Aşağıda gösterildiği gibi bu formatta bir bilgisayara komut vereceğiz. Bu dilde iki sayı toplam nasıl yapılıyor bakacağız.
- Sayı 1 değerini hafızada A olarak saklayın
- Sayı 2 değerini hafızada B olarak saklayın
- A ve B değerini içerik alanına ekleyin
- İçeriği yazın
Assembler ve Derleyici nedir?
Teknoloji I/O cihazlarında icat edildiğinde, programınızı ASSEMBLER adlı bir program kullanarak doğrudan PC’ye yazabilirdik. İlgili makine koduna (110001 ..) dönüştürür. Örneğimize geri dönecek olursak 1+2 toplama işlemi için yapılan assemble kodunu, assembler makine koduna dönüştürecek ve çıktıyı verecektir.
Ancak tek başına assembler bu süreçte yer almaz; ayrıca derleyicinin uzun kodu küçük bir kod kümesine derlemesini gerektirir. Yazılım geliştirme dillerindeki ilerlemeyle, bu tüm assemble kodu, COMPILER(Derleyici) adlı yazılımın yardımıyla tek bir satırlık yazdır f 1 + 2 olarak dönüşebilir. C dil kodunuzu derleme koduna dönüştürmek için kullanılır ve derleyici bunu ilgili makine koduna dönüştürür ve bu makine kodu işlemciye iletilir.
Örn:
Şimdi, Windows işletim sisteminin Intel işlemci üzerinde çalıştığını varsayalım, İşletim Sistemi ve işlemcinin bir kombinasyonu PLATFORM olarak adlandırılıyor. Dünyanın en yaygın platformu Windows ve Intel Wintel Platformundur. Diğer popüler platformlar AMD ve Linux, Power PC ve Mac OS X’tir.
Şimdi, işlemcideki bir değişiklikle, assemble talimatları da değişecektir. Örneğin
Intel’de Ekle olan komut, AMD için EKLEME olarak adlandırılabilir Açıkçası, İşletim Sistemindeki bir değişiklikle, O.S seviye çağrılarının seviyesi ve niteliği de değişecektir.
İyi bir yazılım kodu mevcut tüm platformlarda çalışmak zorundadır. Bu yüzden, yazdir f komutumu yerel makine kodlarına dönüştüren ayrı derleyicilere ihtiyaç duyulur. Bu da zaman ve maddi maliyetlere yol açmaktadır.
Burada çözüm JAVA’dır.
Java Sanal Makinesi nasıl çalışır?
Java Virtual Machine kullanarak, bu sorun çözülebilir. Şimdi javada farklı işlemciler ve O.S. için bu süreç nasıl işliyormuş bir bakalım.
Adım 1) İki sayının eklenmesini gösteren kod System.out.println (1 + 2) olup, .java dosyası olarak kaydedilir.
Adım 2) java derleyiciyi kullanarak kod bytecode adı verilen bir ara kod dönüştürülür. Çıktı bir .class dosyasıdır.
Adım 3) Bu kod herhangi bir platform tarafından değil, Java Virtual Machine olarak adlandırılan sadece sanal bir platform tarafından anlaşılmamıştır.
Adım 4) Bu Sanal Makine, işletim sisteminizin RAM’inde bulunur. Sanal Makine bu bayt koduyla beslendiğinde, üzerinde çalıştığı platformu tanımlar ve bayt kodunu yerel makine koduna dönüştürür.
Aslında, PC’niz üzerinde çalışırken veya bu simgelerin her birini gördüğünüzde web’de gezinirken, java sanal makinesinin RAM’inize yüklendiğinden emin olabilirsiniz. Ama java kazançlı kılan şey, derlendiğinde bu kod sadece tüm PC platformlarında değil, aynı zamanda mobil cihazlarda veya java’yı destekleyen diğer elektronik cihazlarda da çalışabilir.
Java Platformu Nasıl Bağımsızdır?
C derleyicisi gibi, Java derleyicisi belirli bir makine için yerel yürütülebilir kod üretmez. Bunun yerine, Java bytecode adı verilen benzersiz bir format oluşturur. Sanal makine şartnamesinde belirtilen kurallara göre yürütülür.
Bayt kodu, herhangi bir işletim sisteminde kurulu olan herhangi bir JVM için anlaşılabilir. Kısacası, java kaynak kodu tüm işletim sistemlerinde çalışabilir.