Java Nedir?

'HTML-PHP-ASP-JAVA' forumunda semyav5mitq tarafından 9 Ocak 2009 tarihinde açılan konu

  1. Sponsorlu Bağlantılar
    Java Nedir? konusu Java, Sun Microsystems firması tarafından 1991 yılında geliştirilmiş nesneye yönelik bir programlama dilidir. Java, temel veri tiplerini, giriş çıkış fonksiyonlarını ve diğer fonksiyonları içeren sınıf kütüphanesine sahiptir. Bu programlama dili aynı zamanda internet protokollerinin çoğunu destekleyen fonksiyonlara da sahiptir. Java çok fazla komut içermemesine rağmen, uygun komutları bünyesinde barındırdığı için, güçlü bir dil olarak kabul edilmiştir. Java programlama dili, geliştirilirken C ve C++ dillerini kendine baz almıştır.
    Java ile yazılan bir programın çalıştırılabilmesi için, iki aşamadan geçirilmesi gerekmektedir. Birinci aşama programın derlenmesi aşamasıdır. Programın Java derleyicisi ile derlenmesi sonucunda, byte kod (Java binary kod) denilen makina koduna yakın, fakat işlemciye özel olmayan kod oluşturulur. İkinci aşama ise, programın byte kodunun bir byte kod yorumlayıcısından geçirilmesi aşamasıdır. Byte kod yorumlayıcısı programın çalışmasını sağlar. Java� nın bu özellii ona hem avantaj hem dezavantaj getirir. Derlendikten sonra işlemciye özel kod üretilmemesi sayesinde Java sistemden bağımsızdır, üzerinde Java yorumlayıcısı bulunduran herhangi bir sistemde çalışır. Fakat, bir Java yorumlayıcı programı yürüttüğü için, işletim hızı da yavaşlar.
    Java� da program yazabilmek için bir Java Geliştirme Kiti (JDK) gereklidir. Herhangi bir editörde (Unix için pine, vi; DOS altında MSDOS Edit vb�) yazılıp, *.java uzantılı kaydedilen Java programı dosyası, JDK� de komut satırına javac dosya_ismi yazılıp derlenir. Bu işlem sonucunda dosya_ismi .class dosyası oluşur. (Byte kod dosyası) JDK� den java yorumlayıcısı çağırılarak, programın çalıştırılması istenirse, komut satırına java dosya_ismi yazılır.
    Java dili ile yazılan programları, Java uygulamaları ve Java appletleri olmak üzere iki ana grupta toplayabiliriz. Java uygulaması, herhangi bir probleme çözüm getirmek amacıyla, Java dili ile yazılmış bir programdır. Örneğin; ekrana �Ben Java öğreniyorum!� çıktısını veren bir program yazalım:

    Class JavaOgreniyorum {
    public static void main(String args[]){
    System.out.printIn(�Ben Java öğreniyorum!�);
    }
    }

    Bu programı bir editörde yazıp, genelde sınıfa verdiğimiz isi dosya ismine de verip, kodu JavaOgreniyorum.java olarak kaydederiz. Daha sonra yukarıda açıklandığı gibi, JDK� de derlemek için komut satırına javac JavaOgreniyorum yazıp, JavaOgreniyorum.class dosyasının oluşmasını sağlarız. Programın çalışması için de java JavaOgreniyorum komut satırını yazarız.
    Java appleti ise, Java desteğine sahip bir listeleyicide (browserda) görüntülenen Web sayfaları içerisinden çalıştırılabilen programlardır. Bir Java appleti imajlara benzer, fakat, dinamik ve interaktif olmasıyla farklılaşır. Bir Web sayfasına java appleti bağlamak için, önce Java dili ile program yazılıp derlenir. Sonra HTML ile hazırlanmış Web sayfasında bu dosya referans olarak gösterilir. HTML dosyası ile applet dosyasının aynı dizinde olması tavsiye edilir. (bir HTML dosyası ile o sayfada kullanılan imaj dosyası gibi) Web sayfası yüklendiğinde Web listeleyicisinde (browserında) gömülü olan Java yorumlayıcısı sayfadaki appletleri çalıştırmaya başlar. Appletlerin Web sayfasında çalışması için, kullanılan listeleyicinin Java desteğine sahip olması gerekmektedir. Bu amaçla geliştirilen ilk listeleyici (browser), HotJava olup (HotJava Java dili ile yazılmıştır.), daha sonra diğer Web listeleyecilerinin de Java� yı destekleyen yeni sürümleri çıkartılmıştır. (Örneğin, Netscape 2.0 gibi)
    Şimdi deminkine benzer bir Java appleti yazmayı ve bunu bir Web sayfasına bağlamayı deneyelim:

    import java.awt.Graphics;
    public class JavaOgreniyorumApplet extends java.applet.Applet{
    public void paint (Graphics g){
    g.drawstring(�Ben Java öğreniyorum!�, 5, 25);
    }
    }

    Burada import komutu da applet� in JDK içindeki sınıflara erişimini sağlar.
    Bu applet dosyası da deminki Java programına benzer biçimde, bir editörde yazıldıktan sonra ait olduğu sınıf ismi dosya ismi olarak verilip JavaOgreniyorumApplet.java şeklinde kaydedilir. JDK� de javac JavaOgreniyorumApplet komut satırı yazılıp, programın derlenmesi sağlanır. Daha sonra oluşturulan byte kodun çalışması için, java JavaOgreniyorumApplet komut satırı yazılır.

    1.5.2. CGI (Common Gateway Interface)

    CGI� ın ne olduğunu anlatmaya geçmeden önce bazı kavramların açıklanması gerekmektedir. Buna Web Server ve Client ile başlamak yerinde olur. Web Server� lar (HTTPd Server), Web sayfalarını üzerinde bulunduran makinalardır. Bu makinalar genelde kendi üzerlerinde bulunan Web sayfalarına erişmek için 80 numaralı portu kullanırlar. Client ise, Web Server� lar üzerindeki Web sayfalarına erişmek isteyen makinalardır. Client herhangi bir porttan Web Server ile iletişim kurabilir. Stdin standard input� un kısaltılmışıdır ve server açısından client� ın server� a gönderdiği veriler anlamına gelir. Stdout standard output� un kısaltılmışıdır ve server� ın client� ın gönderdiği verileri işlemesi sonucunda client� a gönderdiği sonuç bilgisi anlamına gelir.
    Yukarıdaki açıklamalardan da anlaşıldığı gibi, HTTP protokolü, server� dan client� a ve client� tan server� a veri aktarımını destekler. Client� ın server� a veri gönderebilmesi, formlar aracılığıyla olur. Form, client� ın server� a veri ulaştırmasını sağlamak amacıyla HTML dili kullanarak yazılmış Web sayfalarıdır. Kullanıcının (client) form aracılığıyla server� a gönderdiği bilgiyi işleyecek server tarafında çalışan bir programa ihtiyaç vardır. Bu programa gateway programı denir. CGI (Common Gateway Interface), client� ın gönderdiği input verileri alıp, gateway programına veren (gateway programının çalışmasını sağlayan) ve programın çıktısını tekrar client� a ileten, kısaca server ve server tarafındaki gateway programları arasında iletişimi sağlayan, bir arayüz, protokoldür.
    Bir Web Client programının (Web browser), HTTP server� ına veri göndermesini sağlamak için hazırlanan formlar, HTML diliyle aşağıdaki gibi başlar:

    <FORM ACTION=�URL� METHOD=get | post>
    �..
    �..
    </FORM>

    Action seçeneğinde belirtilen URL, formun doldurulduktan sonra, hangi Web server� daki hangi program tarafından işleneceği bilgisini ifade eder. Method seçeneği ise, formun Web server� ına hangi methodla ulaştırılacağını belirtir. Yukarıdan da anlaşılacağı gibi, formdaki bilgiler iki methodla ulaştırılabilir. Get metodu kullanılırsa, veri çevresel değişkenler aracılığı ile, Web Server� a ulaştırılır. Bu metodla bütün form bir query_string değişkeninin içine konur, action kısmında belirtilen adres ve programın sonuna eklenir ve tek bir URL olarak gönderilir
     

Bu Sayfayı Paylaş