Sayfayı Yazdır | Pencereyi Kapat

Java Nedir ?

Nereden Yazdırıldığı: Bilginin Adresi
Kategori: Webmaster
Forum Adı: Webmaster Genel
Forum Tanımlaması: Webmasterlar için genel konularla ilgili bir tartýþma forumu
URL: https://www.bilgineferi.com/forum/forum_posts.asp?TID=8756
Tarih: 19-04-2024 Saat 16:06


Konu: Java Nedir ?
Mesajı Yazan: GéCéSæH!N!
Konu: Java Nedir ?
Mesaj Tarihi: 08-01-2011 Saat 13:45
Java Nedir ?
 Java, Sun Microsystems mühendislerinden James Gosling tarafýndan geliþtirilmeye baþlanmýþ açýk kodlu, nesneye yönelik, platformdan baðýmsýz, yüksek performanslý, çok iþlevli, yüksek seviye, adým adým iþletilen (interpreted) bir dildir.

Java ilk çýktýðýnda daha çok küçük cihazlarda kullanýlmak için tasarlanmýþ ortak bir platform dili olarak düþünülmüþtü. Ancak platform baðýmsýzlýðý özelliði ve standart kütüphane desteði C ve C++'tan çok daha üstün ve güvenli bir yazýlým geliþtirme ve iþletme ortamý sunduðundan, hemen her yerde kullanýlmaya baþlanmýþtýr. Þu anda özellikle kurumsal alanda ve mobil cihazlarda son derece popüler olan Java özellikle J2SE 1.4 ve 5 sürümü ile masaüstü uygulamalarda da yaygýnlaþmaya baþlamýþtýr. Java'nin ilk sürümü olan Java 1.0 (1995) Java Platform 1 olarak adlandýrýldý ve tasarlama amaçýna uygun olarak küçük boyutlu ve kýsýtlý özelliklere sahipti. Daha sonra platformun gücü gözlendi ve tasarýmýnda büyük deðiþiklikler ve eklemeler yapýldý. Bu büyük deðiþikliklerden dolayý geliþtirilen yeni platforma Java Platform 2 adý verildi ama versiyon numarasý 2 yapýlmadý, 1.2 olarak devam etti. 2004 sonbaharýnda çýkan Java 5, geçen 1.2, 1.3 ve 1.4 sürümlerinin ardýndan en çok geliþme ve deðiþikliði barýndýran sürüm oldu. Java SE 7 ise (kod adý: Dolphin) Sun'un üzerinde çalýþtýðý, Java teknolojisinin gelecekteki sürümüdür. 13 Kasým 2006 da Java platformu GPL lisansýyla açýk kodlu hale gelmiþtir.




Java NaSýL ÇaLýþýr ?

Bir Java yazýlýmý þu þekilde geliþtirilir:

* Programcý Java kodunu yazar.
* Bu kod bir Java derleyicisi ile derlenir. Sonuçta bytekod adý verilen bir tür makine kodu ortaya çýkar. Platform baðýmsýzlýðýný saðlayan þey bytecode'dur. Çünkü bir kere bytecode oluþtuktan sonra yazýlým sanal makine içeren tüm iþletim sistemlerinde çalýþabilir.
* Bu byte kod Java Virtual Machine (Java Sanal Makinesi) tarafýndan adým adým iþletilir.

Bu adýmlarý yakýndan inceleyecek olursak:


Java Kodunun Yazýlmasý

Java nesneye yönelik bir dil olduðundan tüm yazýlým sýnýflar ve nesneler üzerinden yürütülür. Sýnýflar uygulamadaki nesnelerin tanýmlandýðý kod parçalarýdýr. Java'da her bir sýnýf bir dosya içerisinde yer alýr. Dosyalarýn uzantýlarý .java þeklindedir. Dosya adý ise içinde tanýmlanan sýnýf ile aynýdýr. Örneðin, BenimSinif.java gibi...


Java Ýle Ýlgili Bazý Kavramlar

JIT

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", "anýnda derleme" araçlarý üretmeye baþladýlar. Yapýlan þey byte kodu 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ý. Ama 2000 yýlýndan sonra gelistirilen sanal makinelerde (Hotspot gibi) JIT'in iþlevi VM'içinde yer almaya baþlamýþ, iþlemci hýzý ve bellek miktarýnýn dramatik biçimde artmasý ile dýþ JIT yazýlýmlarý popülerliðini kaybetmiþtir. Bugün halen birkaç ürün (Excelsior JET gibi) pazarda bulunsa da genellikle bu yöndeki ihtiyaç azalmýþtýr.

Java API

Java API, Java yazýlýmlarýnda kullanýlan yazýlý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 imkaný sunulur. Java API J2SDK'nýn bir parçasýdýr.

Artýk veri toplayýcýsý (Garbage Collector)

Artýk veri toplama teknolojisi Java'dan önce de var olan ama Java ile adýný duyurmuþ ve yaygýn olarak kullanýlmaya baþlanmýþ bir kavramdýr. C++, C gibi dillerin en büyük handikaplarýndan birisi dinamik bellek yönetimidir. Yazýlýmda iþaretçi (pointer) kullanarak dinamik olarak bellek ayýrdýktan sonra o bellek ile iþiniz bittiðinde mutlaka ayrýlan belleði bellek yöneticiye özel metodlar yardýmýyla (delete, free vs.) iade etmeniz gerekir. Yoksa bellek sýzýntýsý (Memory Leak, MLK) oluþur ve bu bir süre sonra yazýlýmýn ve iþletim sisteminin beklenenden farklý davranmasýna yol açabilir. Sýzýntýlarýn tespiti oldukça güçtür ve bulunmasý zor hatalara yol açar. Bu nedenle bugünün tüm büyük C ve C++ yazýlýmlarý az da olsa bellek sýzýntýsý içerir (iþletim sistemleri dahil).

Artýk veri toplayýcýsý 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 uyarlamalý metodlarla otomatik olarak temizler ve sisteme iade eder. Bu iþleme artýk veri toplama, ya da "garbage collection" adý verilir. Artýk veri toplama sistemlerinin yapýsý oldukça karmaþýktýr ve geçen yýllar içinde büyük geliþmeler kaydedilmiþtir. Artýk veri toplayýcýnýn varlýðý Java'da bellek sýzýntýsý olmayacaðý anlamýna gelmez, ama bellek sýzýntýlarý daha ender olarak ve farklý þekillerde karþýnýza çýkar ve genellikle tedavi edilmesi daha kolaydýr.

Jar

Jar (Ýngilizce Java Archive, yani Java Arþivi), aslýnda bir tür sýkýþtýrma formatýdýr. Jar ile derlenen Java kodlarý ile oluþan yazýlýmýn paketlenip taþýnmasý kolay bir hale getirilir. Jar dosyalarý temelde bytekod bloklarý içerir. Jar dosyalarý genellikle kütüphane oluþturmada ya da uygun biçimde hazýrlanýrsa iþletim sisteminden doðrudan çalýþtýrýlabiliecek bir þekilde kullanýlabilir (Executable jar, iþletilebilir jar) jar dosyalarýnýn içeriðini sýkýþýtýrma yazýlýmlarý ya da java yazýlým geliþtirme araçlarý ile inceleyebilirsiniz. Java 1.5 ile yeni bir tür jar oluþturma metodu da kullanýma girdi. Pack200 adý verilen hiper-compression algoritmasý ile jar dosyalarý daha kucuk boyutlara indirilebiliyor. Ancak bu teknoloji daha çok að üzerinden yapýlan transferlerde kullanýlýyor.

AWT ve Swing

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

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.



-------------
SéT_By_GéCéSæH!N!



Cevaplar:
Mesajı Yazan: GéCéSæH!N!
Mesaj Tarihi: 08-01-2011 Saat 13:45
Hot Spot Teknolojisi

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)

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

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ý)

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.

Merhaba Dünya

Uç birimde Merhaba Dünya!


//// MerhabaDunya.java
public class MerhabaDunya {
public static void main(String[] args) {
System.out.println("Merhaba Dunya!");
}
}


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 MerhabaDunya ifadesini kullanýp uzantýsý ile beraber MerhabaDunya.java ismi ile kaydedebiliriz. J2SDK veya benzer bir Java geliþtirme ortamý kurulu sistemimizde yazýlan uygulama aþaðýdaki þekilde derlenebilir.

javac MerhabaDunya.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 MerhabaDunya

yazabiliriz. java komutu öncelikle Sýnýf yolunda (bknz Classpath) MerhabaDunya sýnýfýný arayacaktýr. Bulduðu taktirde MerhabaDunya sýnýfýnda main metodunu arayacaktýr. Eðer metod bulunur ise bu metod icra edilir.

Merhaba Dunya!




java, java 2008, java 6 update, java 7, java 8, java applet, java com, java dawnload, java dili, java donload, java dowloand, java en son, java file, java for vista, java free download, java kullanýmý, java lang, java nedir, java nerelerde kullanýlýr, java nýn tarihçesi, java runtime, java se runtime, java son, java web, java yazýlýþý, java yazýmý, javanýn tarihçesi, sun java, vista java, windows java, www java, youtube java

-------------
SéT_By_GéCéSæH!N!



Sayfayı Yazdır | Pencereyi Kapat