Java Nedir ?
SakliMavi
Java Nedir ?
Java Nedir ?
Arkadaşlar, bu haftadan itibaren yazılım dünyasında diğer programlama dillerinden birçok farklılıklar ve üstünlükler gösteren Java programlama dilinin yapısını , bu dil ile nasıl uygulama geliştirildiğini ve bu dil ile beraber gelişen Java Teknolojilerini anlatmaya çalışacağım.
23 Mayıs 1995'te Sun MicroSystems tarafından duyurumu yapılan Java platformunun endüstri tarafından adaptasyonu, bilgisayar tarihinde başka hiçbir yeni teknolojide görülmeyen bir hızda gerçekleşmiştir. Aynı ay içinde, Java'nın kod'ları Internet'te ücretsiz olarak yayınlanmıştır.
Dünyadaki yazılım firmaları Sun MicroSystems tarafından yapılmış olan belirlemelere sadık kalmak koşuluyla kendi Java yazılım ve teknolojilerini üretebilirler. ( Örneğin Uygulama Sunucusu yazılımı - Application Server)
Java, özellikle ağ ve internet uygulamaları için geliştirilmiş bir programlama dilidir. Platform bağımsızdır ve her bilgisayarda, ağ üzerindeki her yerde çalışır. Web gözatıcıları (browser) java kodlarını çalıştırmak için, kendi içlerinde bir "Java Virtual Machine" içerirler.
Öncelikle Java programlama dili C++ gibi nesneye dayalı (Object Oriented ) bir dildir. Bu sayede nesneye dayalı analiz ve tasarım çalışmaları sonucunda oluşturulacak olan sistemin gerçekleştirilmesi ( implementation ) için oldukça uygun bir dil olarak karşımıza çıkmaktadır. Aynı zamanda Java oldukça güvenli ve sağlam bir ortamı da yazılım geliştiricilere sunmaktadır.
Günümüzde Java, sadece bilgisayar ve internet uygulamalarında değil; bilgisayar teknolojilerinin kullanıldığı diğer alanlarda da (akıllı kart, ev teknolojisi ürünleri -beyaz eşyalar vb- gibi ) programlama ve kontrol aracı olarak kullanılmaktadır. Önümüzdeki dönemlerde, aynı ortak platformu kullanan ama birbirinden farklı gibi görünen cihazların (bilgisayar, elektronik sistemler, elektrikli/elektronik ev eşyaları gibi) bu teknoloji yardımıyla aynı ağ üzerinde bulunacağını ve söz gelimi bilgisayarımızdan evinizdeki birtakım elektronik/elektrikli eşyaları kontrol edebileceğimizi düşünebiliriz.
Burada program geliştiricilerinin bir rüyası gerçekleşiyor:Herkes farklı işlemcilerde ve işletim sistemlerindeki problemi bilir. Birisinde çalışır diğerinde çalışmaz ve bu geliştiricilerin kabusudur (Bir keresinde VB 'te yazdığım bir programı, aynı işletim sistemine sahip başka bir makinaya taşımak gafletinde bulundum, başıma gelenleri ayrı bir yazımda anlatırım size). Derleyici burada devreye girer ve programı "bytecode" çevirir. Bu kod tamamen platform bağımsızdır ve tüm işlemcilerde çalışır.
Bir Java programı, hiçbir değişiklik yapılmadan, desteklenen tüm sistemlerde çalışır. Ayrıca C++ 'da bazı belirsizlik arz eden tanımlar temizlenmiştir. Bu tanımlar değişik sistem ve derleyicilerde, değişik biçimlerde kabul ediliyorlardı. Örneğin C++ 'da hiçbir zaman bir tamsayının (integer) kaç byte olduğu bilinemiyordu. Java'da bir tamsayı herzaman (Hangi sistemde olursa olsun ) 4 Byte dır. Böylece program geliştiriciler çok sofistike uygulamaları, Windows, UNIX veya Macintosh gibi farklı platformlar için tekrar planlanmasına gerek kalmadan yazmaya başladılar. Java Teknolijisinin ilk duyurumundan bu yana Java 2 yazılımı 4 milyon kişi tarafından yüklenmiştir.
Java programları direkt işlemci tarafından yorumlanmaz. Özel bir program tarafından yorumlanırlar (Yorumlayıcı = Interpreter ). Bunun avantaj ve dezavantajları vardır : Programı geliştirirken bazı adımlardan kurtulursunuz. Örneğin bazı program parçacıklarına bağlantı kurmaktan (Link). Dezavantajı ise tüm desteklemelere rağmen, programın çalışmasının yavaş oluşu. Sun firması bir ara katman oluşturdu. Java bir önyorumlayıcı tarafından byte koduna (bytecode) çevrilir. Çok büyük avantaj olan, bazı küçük değiştirmelerde derleyemeye gerek kalmaması, bununla yok oluyor.
Fakat bu "bytecode" makina diline çok yakındır. Bundan dolayıdır ki çok hızlı bir kod oluşturulmuş oluyor. Bu arada "Just-in-Time" Compiler lar "bytecode" u gerçek makina koduna çeviriyorlar. Böylece hız 10 kat (hatta daha fazla) artıyor.
Sun firmasının geliştireceği özel "Java işlemcileri" kapıda. Bunlar Java programları direkt çalıştıracaklar. Bu ürünler geliştirilene kadar Java yavaş çalışmaya devam edecek, fakat bu haliyle bile yazılımcıları cezbetmeye devam ediyor.
Java ile Ne Yapılabilir ?
Java Programlama dili ile projelerimizi diğer programlama dillerine göre daha kolay ve sağlıklı bir şekilde yapmanız mümkündür. Kısaca göz atacak olursak, Java programlama dili ile ;
- GUI (graphical user interface , grafiksel kullanıcı ara yüzü) uygulamaları , appletler.
- Distributed components (Dağınık bileşenler) (ör . EJB, RMI, CORBA).
- Servlet , Jsp (web tabanlı uygulamalar).
- Veri tabanlarına erişim ile alakalı uygulamalar.
- Cep telefonları , Smart kart lar için uygulamalar .
- Ve daha niceleri …. için uygulamalar yazmamız mümkünkür. Bu uygulamaların ne olduğuna zaman içerisinde değineceğiz.
Java Nasıl Çalışır ?
Java uygulamaları JVM (Java Virtual Machine) tarafından yorumlanır( interpreted ). JVM, işletim sisteminin en tepesinde bulunur. Bu sayade yazımış olan Java uygulamaları değişik işletim sistemlerinde, herhangi bir değişiklik yapılmadan çalışabilir. Böylece Java programlama dilinin felsefesi olan "Bir kere yaz her yerde çalıştır" sözü gerçekleştirilmiştir.
Aşağıdaki şekillerde, Javanın kaynak kodundan, çalışmasına kadar olan evreleri gösterilmektedir.
Byte koduna çevrilen kaynak kod , JVM tarafından yorumlanır ve uygulama çalıştırılmış olur. Yazılan java kaynak kodlarımız ilk önce derlenir (compile) daha sonra ise çalıştırılır. Java kaynak kodu içerisinde belirttiğimiz her sınıf (class) için fiziksel olarak bir .class dosyası oluşturulur.
Kategoriler
Java platformu üç ana gruba ayrılır.
- Standart Java
- Enterprise Java
- Tüketici için ve gömülü cihazlar için Java (embedded devices)
Yukarıdaki kategorileri açacak olursak ;
Standart Java :
- Java 2 SDK (J2SE)
- Java 2 Runtime Environment
- Java Plug-in
- Java Web Start
- Java HotSpot Server Virtual Machine
- Collections Framework
- Java Foundation Classes (JFC)
- Swing Components
- Pluggable Look & Feel
- Accessibility
- Drag and Drop
- Security
- Java IDL
- JDBC
- JavaBeans
- Remote Method Invocation (RMI)
- Java 2D
Enterprise Java :
- Enterprise JavaBeans (EJB) Architecture
- JavaServer Pages (JSP)
- Java Servlet
- Java Naming and Directory Interface (JNDI)
- Java IDL
- JDBC
- Java Message Service (JMS)
- Java Transaction (JTA)
- Java Transaction Service (JTS)
- JavaMail
- RMI-IIOP
- Software Development Kit & Application Model
- Java 2 SDK, Enterprise Edition (J2EE)
- Sun BluePrints Design Guidelines for J2EE
Java Micro Edition
- Java 2 Platform, Micro Edition (J2ME technology)
- Connected Device Configuration (CDC)
- Connected Limited Device Configuration (CLDC)
- C Virtual Machine (CVM)
- K Virtual Machine (KVM)
- PersonalJava
- Java Card
- JavaPhone API
- Java TV API
- Jini Network Technology
- Mobile Information Device Profile (MIDP)
Gelişim Evreleri
Javanın Başarılı Olmasındaki Sebebler
1. Nitelikli bir programlama dili olması
a. C/C++ da olduğu gibi hafıza problemlerinin olmaması .
b. Nesneye yönelik (Object - Oriented) olması .
c. C/C++/VB dillerinin aksine dinamik olması .
d. Güvenli olması .
e. Internet uygulamarı için elverişli olması. (Applet, JSP, Servlet, EJB, Corba, RMI)
2. Platform bağımsız olması : Bir kere yaz her yerde çalıştır
Sonuç olarak, Java bugün nesneye dayalı diller (Object Oriented Languages) arasında önemli bir yere sahiptir ve günümüzde birçok teknoloji ( mobil cihaz yazılımları , ağ yazılımları vs ) bu dil üzerinde hayat bulmaktadır ve bulmaya da devam edecektir. Siz de hiç vakit kaybetmeden bu dünyada yerinizi alın , çünkü GELECEK JAVA dır!
kaynak: www.mutasyon.net/default.asp