Java Hakk*nda

advertisement
Java Hakkında
-
Java Nedir?
Java’nın Tarihi
Java’nın Avantajları
Java Platformu
- JVM
- Java Nasıl Çalışır?
- Java kodunu console dan çalıştırmak
Java Nedir?
Java Sun Microsystems firması tarafından geliştirilmiş




nesneye yönelik,
platform bağımsız,
çok işlevli ve
interpreted (yorumlanmış)
bir programlama dilidir.
Java’nın Tarihi



Java ilk olarak 1991 yılında James Gosling ve ekibi tarafından
Sun Microsystems tarafından geliştirildi. Bu dile OAK adı verildi.
Dil gömülü elektronik sistemlere yazılım geliştirmek için
tasarlanmıştı.
Web teknolojilerindeki hızlı gelişme ve OAK’ın ticari bir isim
olarak kullanılamayacağının hukuki bir araştırmayla ortaya
çıkmış olması, Sun firmasını yeni bir ad arayışına götürdü.
1996 yılında OAK dili JAVA adını aldı. Javanın ilk sürümü çıktı.
Java’nın Tarihi
Sürüm Tarihçesi


1.0 (1996) — İlk sürüm.
1.1 (1997) — Önemli eklentiler. Örneğin iç sınıflar.

1.2 (4 Kasım 1998) — Kod adı:Playground. API'de önemli
değişiklikler, reflection özelliği ve JIT Derleyicisi nin
eklenmesi. ancak dilin kendisinde önemli değişiklikler olmadı.
1.3 (8 Mayıs 2000) — Kod Adı: Kestrel. HotSpot JVM
sunuldu.
1.4 (13 Şubat 2002) — Kod adı: Merlin. assert kelimesinin
dile eklenişi, nio sınıfları ve pek çok yeni API değişikliği.
5.0 (29 Eylül 2004) — Kod Adı: Tiger. (Önce 1.5 olarak
duyruldu) Pek çok yeni dil özelliği eklendi.
6.0 (11 Aralık 2006) — Kod Adı: Mustang. Grafik alt
yapısında ve sanal makine başarımında gelişmeler oldu.
7.0 (2008, öngörülen) — Kod Adı: Dolphin. Muhtemel JVM
yapı değişikliği. (2010 sonunda tamamlanması planlanıyor.)





Java’nın Tarihi
Java Editions(J2ME, J2SE, J2EE) Java, 1.2 sürümünde çok fazla
değişiklik yaptığı için bu sürüme JAVA 2 adını verdi. Java 2’yide 3
farklı sürüme böldü. Bu sürümler arasındaki fark ilgili ortamda
çalışacak classları toplamasıdır.
Java’nın Avantajları



Basit
Öğrenilmesi ve kullanılması kolay bir dil olarak tasarlanmıştır.
Özellikle C++ biliyorsanız Java ya geçiş çok kolay olacaktır.
Güvenli
Java güvenli bir dildir. Java diliyle virüs yapılamaz. Hiç bir virüs bir
Java programına bulaşamaz. Kötü niyetli bir program, bir işlemi eğer
izin verilmediyse yapamaz. Bu özellik, Internet gibi herkesin
başkasının makinesine erişebildiği bir ortamda çok önemlidir. Java'yı
güvenlik gereksinimi yüksek bir çok firma bu yüzden tercih
etmektedir.
Taşınabilir
Java programları her ortamda aynı veya benzer bir şekilde çalışır.
Her ortam/makine için ayrı bir program yazmaya gerek kalmaz.
Programcı programın çalışacağı makinenin durumunu göz önüne
almak zorunda kalmaz. Bir programın görüntüsü çalıştığı hey yerde
hemen hemen aynıdır. Programcı her işletim sistemi ve her sürüm
için ayrı bir program yazmak zorunda kalmaz.
Java’nın Avantajları


Nesne Yönelimli
Java tamamen nesneye yönelik'tir. Diğer bazı diller gibi
nesneye yöneliklik sonradan dile eklenmemiştir, başından beri
Java'da bulunmaktadır. Bir Java programında olabilecek her şey
ya nesnedir ya da bir nesnenin parçasıdır. Java nesneye yönelik
programlamayı sadece mümkün değil aynı zamanda kolay
kılmıştır. Java'da bir nesnenin yapılması, kullanılması,
geliştirilmesi, başka bir yere aktarılaması çok kolaydır.
Sağlam
Java sağlam bir dildir. Programlamadaki hataların çoğu daha
yazılma aşamasında anlaşılabilmektedir.Yazılma aşamasında
anlaşılmayanlar, programın çalışması esnasında
yakalanabilmektedir. Bir 'exception'la, programda hatanın ne
olduğu, nerede olduğu ve hangi işlemi yaparken olduğu bile
belirtilebilmektedir. Hata olması durumunda da programı
çalıştıranlar hatayı ayrıntılarıyla öğrenme olanağına sahip olur.
Java’nın Avantajları

Çok Kanallı
Java dili başından beri çok kanallıdır(Multi-threaded). Çok
kanallılık programın aynı anda birden fazla işi yürütebilmesi
demektir.

Mimariden Bağımsız
Java’nın en önemli özelliği Java’nın her platformda çalışmasıdır.
İşletim sistemi ve işlemci terfileri ve çekirdek sistem
kaynaklarındaki değişiklikler Java’yı etkilemez.

Yorumlanan
Java derleyicisi byte-code u ürettikten sonra bu kod JVM olan
herhangi bir sistemde yorumlanabilir.
Java’nın Avantajları
 Yüksek Performanslı
Diğer dillerde olmayan bir çok özelliğe sahip olmasına rağmen, Java'da
bunun için fazla bir performans kaybı yoktur. Java'nın ilk
versiyonlarında çalışan programlar diğer dillerde yazılan eşdeğerlerine
göre elbette yavaştır. Ancak Java'nın gelişmesiyle birlikte Java bu farkı,
üstün özelliklerinde vazgeçmek zorunda kalmaksızın kapatmaktadır. En
son Java sürümüyle birlikte JIT (Just-In Time-Tam Zamanında
Derleme) teknolojisi devreye girmiş bulunmaktadır.
 Dağıtık
Java 'dağıtık' bir dildir. 'Dağıtık' birden fazla bilgisayarda çalışan programların bir
biriyle uyumlu çalışabilmesidir. Bir yazılım parçasının bir kısmının bir makinede
diğerinin başka makinede aynı anda çalışması mümkündür. Bu yüzden Internet'in
dilinin Java olduğu söylenmektedir. Günümüzde tek bir makine üzerinde çalışan,
başka hiç bir yerle bağlantısı olmayan uygulama kalmamış gibidir. Bir çok işletme
Internet üzerinden iş yapmaktadır. Bir çok işletmede birden fazla makine birbirine
bağlı olarak çalışmaktadır. Bu yüzden Java dağıtık programlama için en uygun
çözümlerden biridir.
Java ile ilgili bazı kavramlar
JVM(Java Virtual Machine): Java sanal makinesi donanımdan bağımsız yazılım
geliştirme ihtiyacına cevap verme amacıyla geliştirilen bir teknolojidir. Java’nın
temel felsefesi olan “bir kere yaz, her yerde çalıştır” sanal makine sayesinde
varolmuştur.
JIT(Just in Time Compiler):Java ilk çıktığında bytecode işletme hızı çok iyi değildi.
Yerine göre sistemin öz yazılımlarından 5-10 kat yavaş çalışıyordu. Bu nedenle bazı
yazılım geliştirme şirketleri JIT yani Just-in-time compile(aninda derleme) araçları
üretmeye başladılar. Yapılan şey bytekodu sanal makinenin kurulu olduğu gerçek
sistemin diline anında derleme yaparak dönüştürmesiydi. Bu sayede performansta
ciddi artışlar sağlandı.
Garbage Collector: Çöp toplayıcı sayesinde Java’da bir nesne oluşturulduktan
sonra o nesne ile işiniz bittiğinde hiçbir şey yapmanız gerekmez. Sanal makine akıllı
bir biçimde kullanılmayan bellek bölümlerini belirli aralıklarla ya da adaptif
metodlarla sistemi otomatik olarak temizler ve sisteme iade eder.
Hot Spot teknolojisi: Hot spot teknolojisi performans için kullanılan bir teknolojidir.
HotSpot yani sıcak nokta, bir yazılımda sürekli olarak tekrarlanan ve üzerinden
geçilen kod bölümlerine verilen bir isimdir. Bu kod bölümlerini belli bir süre sonra
Byte code dan değilde doğrudan sistemin öz komutlarını kullanarak çalıştırır
Java ile ilgili bazı kavramlar
Java API: Java yazılımlarında kullanılan yazlım kütüphanelerine genel
olarak verilen isimdir. Java API ile disk, grafik, ağ, veri tabanı,
güvenlik
gibi yüzlerce konuda kullanıcılara erişim imkani sunulur. Java API
J2SDK’nin bir parçasıdır.
Java WebStart: Webstart teknolojisi Windows ve Linux işletim
sistemlerinin baş belası olan uygulama kurulum, güncelleme ve silme
dertlerine deva olmak üzere tasarlanmış bir sistemdir.
JDK(Java Development Kit): Java geliştiricileri için standart
kütüphanelerden ve JVM den oluşmaktadır.
JRE(Java Runtime Environment) Sadece Java uygulamalarını
çalıştırmak için kullanılır. İçinde JVM yi barındırır.
Java Nasıl Çalışır

Java Kodunu derlediğiniz zaman, üretilen kod farklı
sistemlerde çalışabilir.(Windows, Linux, Unix..). Bu özellik
onun sistemden bağımsız olduğunu gösterir.
Java Nasıl Çalışır




JVM
JAVA Compiler
Javac ile java kodunu derlediğinizde size .class uzantılı bir
kod verir. Bu kod byte-code udur. Ve bu kod farklı
sistemlerde çalışabilir. Javanın gücü de buradan gelir.
JVM byte kodu alarak işletim sisteminin anlayacağı makine
diline dönüştürür.
Java Nasıl Çalışır
Java Nasıl Çalışır




Pogramcı kodu yazar. (.java uzantılı)
Bu kodu java derleyicisi(javac) ile derler (.class uzantılı kod
oluşur.)
Bu koda bytecode denmektedir.
Bytecode JVM(java) tarafından adım adım işletilir.
Console dan Java Programı Çalıştırmak

Basit bir örnek ile Console’dan JAVA programı
çalıştıracağız.
Download