Java Nesne Yönelimli Bir Dildir
Java nesne yönelimli bir programlama dilidir. Bir programlama dilinin nesne yönelimli olması, dilin kendi özelligi itibariyle aynı amaca yönelik görevlerin sınıf (class) denilen yapılar içerisinde toplanmasına ve bu prensibe göre kullanımına izin vermesidir. Nesne yönelimli programcılıgın bir çok avantajı vardır. Bunlardan en önemlisi, bir projede birbirinden bagımsız olarak tasarlanan sınıf nesneleri kullanılmasıdır. Böylece projeye belli görevlerin eklenmesi veya çıkarılması projenin bütününe dokunmadan mümkün hale gelebilmektedir.Bunu bir örnekle daha kolay kavrayabiliriz: Mesela icq benzeri bir program yazdıgımızı düsünelim. Böyle bir projede kullanıcının karsısına gelecek uygulamanın görüntüsü ayrı bir mödül, sisteme kaydolan kullanıcıların kayıt islerinin yürütülmesi ve veri tabanında saklanması isi ayrı bir mödül, ag baglantıları ve aga giris çıkıs kontrollerinin yürütülmesi de ayrı bir mödül olarak tasarlanmakta ve daha sonra birlestirilmektedir. Bu tasarım sırasında herhangi bir modülde meydana gelen aksama diger mödülleri etkilemeyecektir.
Bundan baska, belli bir görevi üstlenen bir sınıf nesnesi temel alınarak bu göreve yeni eklemeler yapmak (türetme) Java gibi bir nesne yönelimli programlama dili ile oldukça kolaydır. Örnegin; ileriki konularda bahsedecegimiz sekilde, siz bir pencere uygulaması tasarlamıs olabilirsiniz. Daha sonra bir baskası sizin tasarladıgınız bu pencereyi hiç bozmadan kullanarak ve üzerine eklemeler yaparak internet explorer'a çok benzeyen baska bir pencere uygulaması haline getirebilir. Egitimimiz devam ettikçe zaten bu teknigin aslında ne kadar vazgeçilmez oldugunu daha iyi kavrayacaksınız.
Java Multithread Programlamayı Destekler
Aynı anda birden fazla isi yürütebilecek fonksiyonların çalısması ancak mutlithread destegi sayesinde mümkünolacaktır. Java halihazırda buı yetenege sahiptir.
Güvenli ve Saglamdır
Java'da, C ya C++ da oldugu gibi pointer kullanımı kullanıcıya o kadar açık degildir. Bu nedenle pointer gibi kritik kullanımlar neticesinde dogacak güvenlik problemlerine java da rastlanmaz. Ayrıca Java'da built-in olarak bulunan birtakım araçlar sayesinde hafıza yönetimi dinamik olarak ele alınmaktadır. Böylece hafızanın bir süre sonra dolması gibi problemler de Java dili içerisinde engel teskil etmez. Bu araçlardan en önemlisi Garbage Collector denilen araçtır. Bu araç hafızada tutulan ve artık kullanılmayan nesneleri otomatikolarak temizler. Java'nın güvenli olmasının bir diger nedeni de içerisinde sagladıgı çalısma mekanizmasıdır. Bu mekanizmayı söyle özetleyebiliriz:
Classloader ile gelen güvenlik
Yazılan ve derlenen programlar içerisinde gerekli sınıflar class loader denilen bir araçla programa dahil edilirler. Ancak Class Loader ag üzerinden gelen sınıflarla lokal makinede yer alan sınıfları ayrı yerlerde tutar. Böylece daha önceden güvenilen lokal sınıfların üzerine yazılma ihtimali ortadan kalakacaktır.Ayrıca JVM tarafından yorumlanan byte-code ların da güvenilirligi test edilmektedir. Bu testi byte-code verifier denilen bir araç üstlenir. Bu islem çalısma zamanı sırasında (run-time) gerçeklestirilmektedir.
Enterprise Uygulamalar İçin Gelistirlmistir.
Java sagladıgı platformlar sayesinde dagıtık (distrubited uygulamaları gelistirmek için oldukça uygundur. Dağıtık uygulamalardan kasıt, sunucu-istemci etkilesimli, veri tabanı kullanan çok katmanlı yapılardır. Bunun için Java Teknolojilerini incelemek gerekmetedir.
Java Paketleri
Paket denilen seyi aslında daha önce baskalarının yazıp dil içerisinde kullanılacak sekilde hazırladıgı programparçaları olarak düsünebilirsiniz. Bu parçalar içerisinde ana programınızı yazmak için bazı özel isleri yapabileceginiz (dosya islemleri, ag islemleri, ekran islemleri v.b.) araçlar yer almaktadır. Bu araçlar aslında tüm önemli islerini temelini olusturacak görevleri yapabilmektedir. Daha özel uygulamalar bu temel araçların üzerine gelistirilir. Bu nedenle temel araçları en bastan tekrar yazmak yerine paket içerisinden kullanırız. Daha teknik anlamda bu araçlar; sınıflar ve bu sınıflara ait metod ve degiskenlerdir. Bu paketlere aynı zamanda Sınıf Kütüphanleri (Class Libraries) de denilir.
JDK (Java Development Kit)
Bu kütüphanelerden, Pencere Yönetimi (Window Management), Giris/Çıkıs (I/O) ve Ag İletişimi uygulamalarına yönelik olan sınıf kütüphaneleri JDK (Java Development Kit) denilen ortam içerisine yerlestirilmistir. Bunun dısında Java içerisinde bazı isleri kolaylastıran araçlar da mevcuttur. Bu araçlar debug, deployment ve dökümantasyonu kolaylastırmak amacıyla kullanılır.
Java Dökümantasyonu
Java programlama dilinin yapısını olusturan temel paketler dısında birçok farklı alanda program gelistirebileceginiz yüzlerce paket mevcuttur. Ayrıca bu paketlerde yer alan genel konuya iliskin yüzlerce sınıf nesnesi yer almaktadır. Bu sınıf nesnelerinin dökümantasyonunu kullanmadan iyi bir Java uygulaması gelistirmenin neredeyse imkansız oldugunu söyleyebilirim.Bunun için, yazılmıs kitapların yanında Java ile ilgili herseyi bulabileceginiz http://java.sun.com/ adresini
incelemenizi tavsiye ederim. En kısa yoldan bu Java paketlerini incelemek istiyorsanız
http://java.sun.com/j2se/1.4.1/docs/api/ adresinde aradıgınız herhangi bir sınıfa iliskin tüm method ve degiskenleri bulabilirsiniz.
Java ile gelistirilebilecek bir çok alanda uygulama oldugunundan bahsettik. Aslında bu uygulamaları birbirinden kesin bir çizgiyle ayırmak pek dogru olmaz. Ag üzerinde ortak bir veri tabanını kullanan ve görsel bir kullanıcı grafik arayüzüne sahip olan bir projeyi gelistirmek için veri tabanı, ag uygulaması ve grafik arayüz tasarımı seklinde üç ayrı uygulama alanında birden çalısmak gerekir. Ancak güzel olan, Java'nın nesne yönelimli bir programlama dili olması itibariyle, bu uygulamaların ayrı ayrı gelistirilip daha sonra tek bir proje çatısı altında birlestirmenin mümkün olmasıdır.
Java Sanal Makinesi (Java Virtual Machine)
Java'nın platform bagımsız olması demek, herhangi bri makinede yazılmıs ve bir islemci ile derlenmis bir java uygulamasını, tek bir noktasını bile degistirmeden baska bir makine ya da islemci altında çalıstırabilmek anlamına gelmektedir. Java'ya bu özelligi kazandıran mekanizma ise içerisinde barındırdıgı JVM (Java Virtual Machine) dir. Bilgisayarınızda bir java uygulaması çalıstırabilmeniz için, içerisinde java sanal makinası ve kütüphanelerinin de yer aldıgı sdk setini yüklemeniz gerekir. Yazdıgınız uygulama, makinada yer alan bu SDK ile gelen, JVM içerisinde çalısacagından, program kodunuzda hiç bir degisiklik yapmadan ister windows altında, ister linux altında, ister Intel, SPARC ya da Alpha islemcili bir makinada çalıstırabilirsiniz.Java kaynak kodları .java uzantılı dosyalarda yer almaktadır. Her java dosyası çalıstırılmadan önce derlenerek aynı isimle .class dosyasına dönüstürülür. Bu derleme islemini yapan program ise javac programıdır. Daha sonra derlenmis olan bu .class dosyası yine jvm içerisinde yer alan java programı tarafından yorumlanır ve böylece yazdıgınız uygulama çalıştırılmış olur.
Güzel bir çalışma olmuş.
YanıtlaSilbaşarılar...
numan güzel olmuş kolay gelsin.
YanıtlaSil