AWT ve Swing [değiştir]AWT, ilk java ile birlikte geliştirilen temel grafik arayuz oluşturma kütüphanesine verilen isimdir. AWT işletim sisteminin doğal grafik yapılarına erişimi sağlar. Ancak Java 2 platformu ile birlikte AWT yetersiz görülmüş ve çok daha geniş ve gelişmiş özelliklere sahip Swing kütüphanesi sisteme eklenmiştir. Özellikle çok platform destekleyen yazılımlarda kullanıcı arayüzü geliştirme aracı olarak swing halen önemini korumaktadır. Swing önceleri işletim sisteminin kullandığı donanım grafik hızlandırma araçlarını kullanmadığından yavaşlığı ile eleştirilere hedef olmuştu. Özellikle Java 1.4 ile Swing, hem genel olarak sanal makinenin hızlanması ve kısmen donanım hızlandırmayı kullanması ile bu kötü şöhretinden sıyrılmaya başladı. Java 5 ve 6 ile donanım özellikle OpenGL-DirectX kullanımı ve yeni arayüz gösterim şekli ile Java'nın masaüstü uygulama geliştirmede popülerleşmesi bekleniyor. AWT halen Swing'in bir alt katmanında, temel iki boyutlu grafik işlemlerinde kullanılmaya devam ediyor.
SWT [değiştir]SWT swing'e bir alternatif olarak IBM tarafından geliştirilen bir gösterim sistemidir. Swing'den en büyük farkı çalıştığı işletim sisteminin grafik kütüphanesi ve komutlarını kullanmasıdır. Bu nedenle SWT uygulamaları Swing'e göre çoğu yerde daha hızlı ve işletim sistemindeki diğer uygulamaları andıran bir şekilde çalışmasını sağlar. Swingin Java 1.5 ile performans açığını kapattığı iddia edilse de SWT'nin de artık Java camiasında kabul görmüş bir sistem olduğu açıktır. SWT'nin dezavantajı ise Java'nin bir parçası olmamasıdır. yani SWT uygulamaları SWT kütüphanesi ile birlikte dağıtılmaktadır. Ayrıca SWT farklı işletim sistemlerinde farklı olgunluk ve performansta işlemektedir ve özellikle Windows dışı sistemlerde henüz yeterince olgunlaşamamıştır. En bilinen SWT uygulamaları ünlü java yazılım geliştirme aracı Eclipse ve Bittorrent uygulamasi Azureus'tur.
Hot Spot Teknolojisi [değiştir]Sun tarafından geliştirilen Java sanal makinesi HotSpot adı verilen özel bir teknolojiyi içinde barındırır. HotSpot yani sıcak nokta, bir yazılımda sürekli olarak tekrarlanan ve üzerinden geçilen kod bölümlerine verilen bir isimdir. Hotspot sanal makinesi şu anda iki ayrı modda sanal makinenin çalışmasını sağlamaktadır: İstemci (Client) ve Sunucu (Server) modları. İstemci modunda byte kod büyük ölçüde daha başlangıçta JIT ile sistemin öz makine koduna dönüştürülerek işletilir ama çalışma anında daha fazla iyileştirme işlemi gerçekleştirilmez. Bir uygulamanın hızı istemci modunda zaman içinde bu nedenle değişmez. Sunucu modunda ise sanal makine başlangıçta byte kodunu sistemin öz koduna dönüştürmekte acele etmez. Bu nedenle sunucu modu başlangıçta istemci modundan oldukça yavaştır. Program çalışmaya devam ettikçe sanal makine yazılımdaki sıcak noktaları tespit edip byte kodu sadece JIT ile makine koduna dönüştürmekle kalmaz, ayrıca oldukça yoğun bir iyileştirmeye de tabi tutar. Sonuçta sunucu modunda uygulamalar zaman içinde hızlanır, uzun soluklu uygulamaların bu nedenle sunucu modunda işletilmesi önerilir. Mustang Kod adli Java SE 6'da istemci modunda da benzeri bir teknolojinin kullanılması bekleniyor. Dolphin kod adli Java SE 7'de ise bu iki mod arasındaki fark azalacağından sistemin tek modda çalışması bekleniyor.
Uygulamacık (Applet) [değiştir]Uygulamacık(Applet), uzaktaki sistem üzerinden indirilip internet tarayıcı üzerinde çalıştırılabilien java uygulamalarına verilen isimdir. Java'nin son kullanıcılar tarafından tanınması uygulamacık sayesinde olmuştur dersek yanlış olmaz. Uygulamacıklar sisteme zarar veremeyecek bir şekilde tasarlanmıştır ve bugün özellikle oyun sitelerinde halen yaygın olarak kullanılmaktadır. İçerisinde uygulamacık olan bir sayfayı açmaya çalıştığınızda tarayıcınız otomatik olarak java sanal makinesini çalıştırıp ekranın uygulamacığa ayrılan bölümünde uygulamanın çalışmasını sağlar.
WebStart [değiştir]Webstart teknolojisi uygulama kurulum, güncelleme ve silme dertlerine deva olmak üzere tasarlanmış bir sistemdir. Özellikle Java 1.5 ile daha yaygın kullanılmaya başlayacağı tahmin edilen webstart teknolojisi kısaca yazılımların uzaktan yerel sisteme güvenli olarak kurulmasını ve korumalı bir alanda çalıştırılmasını sağlar. Appletlerin bir sonraki adımı olarak görülebilir. Bir webstart uygulamasını kurmak için internet üzerindeki özel bir bağlantıya tıklamak yeterlidir. Sistem otomatik olarak webstart sistemini çalıştırıp yazılımı java cep belleğine indirir. istenirse masaüstüne kısayol koymasını da sağlar. Daha sonra sistem çevrim-içi (on-line) ya da çevrim-dışı (off-line) olarak çalıştırılabilir, ve uzaktaki yazılım güncellendiğinde otomatik olarak -istenirse- yerel makinedeki yazılımın da güncelenmesi sağlanabilir. Kullanıcının özel olarak izin vermesi halinde uygulama yerel sisteme erişim hakkı kazanabilir. Aksi takdirde webstart uygulamaları sisteme yazma işlemi gerçekleştiremezler (yani virüs ve zararlı yazılım tehlikesini son derece aza indirger.)
Java Yazımı(İmlası) [değiştir]Java yazım olarak C/C++ ile benzerlikler arz eder. Java'nın yanında C#, Perl, JavaScript gibi diller de aynı dil ailesine aittir. Dalgalı(kıvırcık) parantezler içerisindeki bloklar, ++ arttırma ve -- azaltma işleçleri bu dilin belirgin özelliklerindendir.
orn:
Merhaba Uzay [değiştir]
Uç birimde Merhaba Uzay!
//// MerhabaUzay.java
public class MerhabaUzay {
public static void main(String[] args) {
System.out.println("Merhaba Uzay!");
}
}
Java'da yazdığımız programları derlememiz için öncelikle sınıf adı ile aynı adı taşıyan dosya ismine sahip olmamız gerekmektedir. Yukarıdaki örnek programı sınıf ismi olan MerhabaUzay ifadesini kullanıp uzantısı ile beraber MerhabaUzay.java ismi ile kaydedebiliriz. J2SDK veya benzer bir Java geliştirme ortamı kurulu sistemimizde yazılan uygulama aşağıdaki şekilde derlenebilir.
orn:
javac MerhabaUzay.java
javac, yazılan programı derleyerek .class uzantılı bir dosya üretir. .class sınıf dosyaları JVM'de çalışabilecek ByteCode'lar içeren sınıf dosyalarıdır. Örnek uygulamayı çalıştırmak için:
java MerhabaUzay
yazabiliriz. java komutu öncelikle Sınıf yolunda (bknz Classpath) MerhabaUzay sınıfını arayacaktır. Bulduğu taktirde MerhabaUzay sınıfında main metodunu arayacaktır. Eğer metod bulunur ise bu metod icra edilir.
Merhaba Uzay!
Bunlarda konuyla ılgılı lınkler
Sun Microsystems
Developer Resources for Java Technology
java.com: Java + You
java.net - The Source for Java Technology Collaboration
Java Tips - Home
Java Examples from The Java Developers Almanac 1.4
http://www.javalobby.com Full Java Tutorial
Türkçe bağlantılar:
Statistics With Java
The Coders | Yazılımcı Merkezi
http://www.kodcu.com/kodcu/ http://ugur.wordpress.com/java-tekno...gramlama-dili/ ff-Java
Özgür Yazılım Sayfaları: Java Programlama Dersleri
Javacı.net: Örnek Kodlar
Java Programlama Giriş
Java Geliştirme Platformları:
NetBeans
Eclipse
Jetbrains IDEA
JCreator
Free Java IDE / Editors / Integrated Development Environment (thefreecountry.com)
"http://tr.wikipedia.org/wiki/Java_%28programlama_dili%29"'dan alındı