(Microsoft PowerPoint - 2.Hafta - Java Programlama Diline Giri\376

advertisement
JAVA PROGRAMLAMA DİLİ
Öğr. Gör. Utku SOBUTAY
İÇERİK
2
•
•
•
•
•
Java Programlama Diline Giriş
Java Platform Çeşitleri
Java’nın Kodlama ve Çalışma Adımları
Java Derleyicisi, Java Yorumlayıcısı
Java Çöp Toplayıcısı
Uzaktan Eğitim Uygulama ve Araştırma Merkezi
Java Programlama Diline Giriş
JAVA PROGRAMLAMA DİLİNE GİRİŞ
•
•
•
4
Java Sun Microsystems Mühendislerinden James Gosling tarafından
geliştirilen bir programlama dilidir.
Günümüze ise; Oracle firması Sun Microsystems’i satın alarak
bünyesine aldı.
Java’nın özellikleri;
– Açık kaynak kodludur.
– Nesne tabanlı bir programlama dilidir.
– Zeminden (işletim sisteminden) bağımsızdır (yazdığınız aynı kod MS
Windows işletim sisteminde de çalışır, Linux türevi işletim
sistemlerinde de çalışır).
– Yüksek Verimli, çok işlevli bir dildir (Aynı anda birden çok işi
yapabilirsiniz).
– Yüksek seviyeli bir dildir (kodlanması için makine dili bilmenize gerek
yoktur basit kelimeler ile programlama yapabilirsiniz).
– Adım adım işleyen, yorumlanan bir dildir (her işletim sisteminde
çalışabilmesini sağlayan da yorumlanmasıdır).
Uzaktan Eğitim Uygulama ve Araştırma Merkezi
JAVA PROGRAMLAMA DİLİNE GİRİŞ
•
•
•
5
•
•
•
Java 1991 yılında ortaya çıkmış bir dildir, fakat Java ismini 1995’te
almıştır. Bu yıla kadar dilin ismi Oak olarak anılmıştır.
Java’nın ilk ortaya çıkış amacı, elektronik cihazlara program
yazabilmektir.
Elektronik cihazlarda farklı işlemci tiplerine program yazabilecek
tek bir programlama diline ihtiyaçtan dolayı Java geliştirilmiştir.
O dönemin C/C++ dilleri farklı işlemci tipleri için ayrı ayrı
derlenebilse bile, her bir işlemci tipi için ayrı bir derleyici yazılması
gerekiyordu.
Java bunun gerekliliği ortadan kaldırmıştır.
Web’in hızla gelişimiyle beraber ise; Java programlama dili, web
üzerine kaymaya başladı.
Uzaktan Eğitim Uygulama ve Araştırma Merkezi
Java Platform Çeşitleri
JAVA PLATFORM ÇEŞİTLERİ
•
•
7
•
Java’da yapmak istediğimiz işlere ve konuya göre
platformlar bulunmaktadır.
Bu platformların gruplara ayrılmasının nedeni; küçük işler
için büyük platformlara gerek duymamamız, karmaşıklığın
önüne geçilmek istenmesidir.
Java Platformları aşağıdaki gibi gruplanabilir;
– Standart Sürüm (Standart Edition – J2SE).
– Enterprise Sürüm (Enterprise Edition – J2EE).
– Gömülü/ Mobil Sürüm (Midlet Edition – J2ME).
Uzaktan Eğitim Uygulama ve Araştırma Merkezi
JAVA PLATFORM ÇEŞİTLERİ
•
Standart Sürüm (Standart Edition – J2SE):
– Java 2 Standart Edition – J2SE
8
– Standart masaüstü programları geliştirmek için kullanılan sürümdür.
– Web tabanlı olmayan uygulamalar geliştirilebilir.
– Dosya işlemleri, giriş/çıkış işlemleri, veritabanı işlemleri, standart
matematiksel işlemler, şart, döngü yapıları, string/metin yapıları,
ağ/network işlemleri, arayüz programlama, 2D çizimler v.b. standart
programlama yapabileceğiniz Java platformudur.
– Enterprise sürümüne göre daha az yer kaplamaktadır.
– Kısıtlı özelliklere sahiptir.
Uzaktan Eğitim Uygulama ve Araştırma Merkezi
JAVA PLATFORM ÇEŞİTLERİ
•
Enterprise Sürümü (Enterprise Edition – J2EE):
– Java 2 Enterprise Edition – J2EE
9
– Web üzerinde uygulamalar geliştirmek üzere kullanılmaktadır.
– Standart Sürümün tüm özelliklerini içerir.
– Standart sürümün üzerine; Mail uygulamaları, Server-Client
uygulamaları, Server sayfaları, xml, html ile bütünleşik uygulamalar,
AJAX uygulamaları, Mesajlaşma uygulamaları, Web servisleri,
Servletler v.b. gelişmiş web programları yapabileceğiniz Java
platformudur.
– Sabit disk üzerinde daha çok yer kaplar ve daha karmaşık yapısı vardır.
Uzaktan Eğitim Uygulama ve Araştırma Merkezi
JAVA PLATFORM ÇEŞİTLERİ
•
Mobile Sürümü (Mobile Edition – J2ME):
– Java 2 Mobile Edition – J2ME
10
– Mobil uygulamalar geliştirmek için ortam sunar.
– Cep telefonu, akıllı telefonlar, televiyonlar, buzdolabı, çamaşır
makinesi vb. gömülü sistemler için sınırlandırılmış fonksiyonlar ve
özellikler içerir.
– Bu tip sistemlerin sınırlı işlemci güçleri ve yetenekleri vardır, J2ME
platformu buna uygun olarak hazırlanmıştır.
– Mobil cihazlara arayüz oluşturma, kablosuz bağlantı, web bağlantısı,
standart işlemler, dokunmatik ekran kullanan işlemler, mobil
dosyalama ve veritabanı işlemleri, grafik ve video işlemleri vb. mobil
programlar yapabileceğimiz Java platformudur.
– Yeni nesil Android işletim sistemli telefonlara da J2ME ile yazılım
yapılabilir.
Uzaktan Eğitim Uygulama ve Araştırma Merkezi
Java’nın Kodlama ve
Çalışma Adımları
JAVA’NIN KODLAMA VE
ÇALIŞMA ADIMLARI
•Java’da yazılmak istenen programlar bir editör yardımıyla yazılır
ve .java uzantılı olarak diske kaydedilir.
•Compiler byte code’ları oluşturur ve .class şeklinde diske kaydeder.
•Class loader .class dosyasını diskten okur ve onu belleğe
yerleştirir.
12
•Byte code doğrulayıcı tüm bytecode un geçerli ve Java’nın
güvenlik sınırlamalarını çiğnemediğini kontrol eder ve onaylar.
•Yorumlayıcı bytecode ları okur ve makinanın anlıyacağı dile
çevirir program çalışırken kullanılacak bazı verileri belleğe
yükler ve programı çalıştırır.
Uzaktan Eğitim Uygulama ve Araştırma Merkezi
JAVA’NIN KODLAMA VE
ÇALIŞMA ADIMLARI
•
•
13
•
•
•
1.Aşama: Yazmak istediğimiz program kodlarını notpad (not defteri),
notpad2, notpad++ vb. basit bir metin editörü yardımıyla yazıyoruz ve
dosya ismi.java uzantılı olarak diske kaydediyoruz.
2.Aşama: Java compiler’ı çalıştırıyoruz ve dosya ismini veriyoruz. Java
Compiler’ın (Derleyicisi) ismi Javac’ dır. Compiler, java uzantılı yazdığımız
kodları byte code adı verilen ara bir koda dönüştürür ve bunun sonucunda
diskte dosya ismi.class uzantılı yeni dosya oluşur.
3.Aşama: Class Loader (Sınıf Yükleyicisi) oluşturulmuş .class uzantılı
dosyayı diskten okuyarak ana belleğe yerleştirir.
4.Aşama: Byte Code Verifier (Byte Kod Doğrulayıcısı), ana belleğe yüklenen
bu byte code’ların doğru olup olmadığını, kodda hatalar olup olmadığını
kontrol eder ve çalışabilir durumda olduğunu onaylar.
5.Aşama: Intepreter (Yorumlayıcı), ana bellekte kontrol edilen bu byte
codeları, makinen anlayacağı dile çevirerek çalıştırır. Java yorumlayıcısı
Java Virtual Machine (JVM)’dir. Java kodlarını derlendikten sonra
çalıştıran da Java’dır
Uzaktan Eğitim Uygulama ve Araştırma Merkezi
JAVA’NIN KODLAMA VE
ÇALIŞMA ADIMLARI
•
Kısaca;
–
–
–
14
–
–
–
Java’da kodlarımızı yazmamızı sağlayan programlara Editör denilmektedir.
Java kodlarının derlenip byte code’a dönüştüren ve sonucunda .class uzantılı
dosyaların oluşmasını sağlayan programa Javac denilmektedir.
Byte Code’a dönüşüm sonucu oluşan .class uzantılı dosyaların çalıştırılmasını
sağlayan program Java isimli programdır.
Java programlarını yorumlayıp çalıştıran genel mekanizmada Java Sanal Makinesi
(Java Virtual Machine – JVM)’dir.
Her işletim sisteminin kendine ait JVM versiyonu mevcuttur.
Aynı kodu alıp başka bir işletim sistemine taşıdığımızda, yine aynı işlemler
yardımıyla değişiklik yapmadan java kodumuzu çalıştırabiliriz.
Uzaktan Eğitim Uygulama ve Araştırma Merkezi
Java Derleyicisi,
Java Yorumlayıcısı
JAVA DERLEYİCİSİ,
JAVA YORUMLAYICISI
•
JAVAC: java derleyicisinin ismi javac’dır ve bu java platformunu
yüklediğimiz zaman içerisinde gelir.
– Editör ile yazdığımız bir java kodunu derlemek için;
javac dosya ismi.java
yazmamız yeterli olacaktır.
– Bunun sonucunda kodları kaydettiğimiz yerde dosya ismi.class dosyası
kendiliğinden oluşur.
16
•
JAVA: derlenen java
programcığı kullanırız.
dosyasının
çalıştırmak
– Kodu çalıştırmak için;
java dosya ismi
yazmamız yeterli olacaktır.
Uzaktan Eğitim Uygulama ve Araştırma Merkezi
için
Java
adlı
Java Çöp Toplayıcısı
(Java Garbage Collector)
JAVA ÇÖP TOPLAYICISI
•
•
•
18
•
•
•
Bir programın çalışma durumunda ortaya çıkan ve sonradan
kullanılmayan (gereksiz) nesneleri bulur ve onları yok eder.
Ana Bellek yönetiminin kontrolü ve yükü, kodu yazan kişiden Java’nın
kontrolüne geçmiş olur.
C++ benzeri diğer nesne tabanlı dillerde olduğu gibi nesnelerin yok
edilmesini geri planda çöp toplayıcı halleder.
Nesne tanımlandıktan sonra hiç kullanılmadıysa, kullanıldıktan bir süre
sonra kullanılma bırakılmışsa veya o nesne ile ilgili işlemler bitip nesne
kullanım dışı kalmışsa çöp toplayıcı bu nesneyi silecektir.
Böylece kullanılmayan nesneler boşuna ana bellekte yer tutmayacaktır.
Bellek yönetimi daha verimli olacaktır.
Çöp toplayıcı kendi kendine otomatik olarak çalıştığı gibi,
tetikleyerek/çağırarak kendimiz de çalıştırabilir. Bunun için;
System.gc() komutu veya Runtime.getRunTime().gc() komutu kullanılır.
Uzaktan Eğitim Uygulama ve Araştırma Merkezi
SORULAR
•
•
19
•
•
SORU: Bir java programının uzantısı nedir?
– CEVAP: Java programının uzantısı .java’dır.
SORU: Bir java programı derlendiğinde hangi uzantılı dosyalar
oluşur?
– CEVAP: Java dosyası derlendiğinde .class uzantılı dosya oluşur.
SORU: Java kodlarını hangi program derler?
– CEVAP: Java kodlarını Javac isimli program derler ve
sonucunda .class uzantılı dosya oluşur.
SORU: Derleme sonucu oluşan ara koda ne ad verilir?
– CEVAP: Derleme sonucunda oluşan .class uzantılı dosyaya Byte
Code adı verilir ve içeriğinde Byte olarak kodlar bulunur.
Uzaktan Eğitim Uygulama ve Araştırma Merkezi
GENEL BAKIŞ
20
•
•
•
Java nesne tabanlı bir programlama dilidir.
Java temeli nesnedir, yani Java’da her yapılan işlem, yazılan kod
birer nesnedir.
Bu nedenle Java nesneye yönelik programlama yapılırken
kullanılabilecek dillerden biridir.
Uzaktan Eğitim Uygulama ve Araştırma Merkezi
Ders Bitti.
Dinlediğiniz için teşekkürler…
•Uzaktan Eğitim Uygulama ve Araştırma Merkezi
Download