JAVA PROGRAMLAMA DİLİ - Bartın...

21
JAVA PROGRAMLAMA DİLİ Öğr. Gör. Utku SOBUTAY

Transcript of JAVA PROGRAMLAMA DİLİ - Bartın...

JAVA PROGRAMLAMA DİLİ

Öğr. Gör. Utku SOBUTAY

İÇERİK

• 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

2

Java Programlama Diline Giriş

JAVA PROGRAMLAMA DİLİNE GİRİŞ

• Java Sun Microsystems Mühendislerinden James Gosling tarafındangeliştirilen bir programlama dilidir.

• Günümüze ise; Oracle firması Sun Microsystems’i satın alarakbü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 MSWindows işletim sisteminde de çalışır, Linux türevi işletimsistemlerinde de çalışır).

– Yüksek Verimli, çok işlevli bir dildir (Aynı anda birden çok işiyapabilirsiniz).

– Yüksek seviyeli bir dildir (kodlanması için makine dili bilmenize gerekyoktur 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

4

JAVA PROGRAMLAMA DİLİNE GİRİŞ

• Java 1991 yılında ortaya çıkmış bir dildir, fakat Java ismini 1995’tealmıştır. Bu yıla kadar dilin ismi Oak olarak anılmıştır.

• Java’nın ilk ortaya çıkış amacı, elektronik cihazlara programyazabilmektir.

• Elektronik cihazlarda farklı işlemci tiplerine program yazabilecektek 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

5

Java Platform Çeşitleri

JAVA PLATFORM ÇEŞİTLERİ

• Java’da yapmak istediğimiz işlere ve konuya göreplatformlar bulunmaktadır.

• Bu platformların gruplara ayrılmasının nedeni; küçük işleriç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

7

JAVA PLATFORM ÇEŞİTLERİ

• Standart Sürüm (Standart Edition – J2SE):– Java 2 Standart Edition – J2SE– 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, standartmatematiksel işlemler, şart, döngü yapıları, string/metin yapıları,ağ/network işlemleri, arayüz programlama, 2D çizimler v.b. standartprogramlama 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

8

JAVA PLATFORM ÇEŞİTLERİ

• Enterprise Sürümü (Enterprise Edition – J2EE):– Java 2 Enterprise Edition – J2EE– 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-Clientuygulamaları, 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 Javaplatformudur.

– Sabit disk üzerinde daha çok yer kaplar ve daha karmaşık yapısı vardır.

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

9

JAVA PLATFORM ÇEŞİTLERİ

• Mobile Sürümü (Mobile Edition – J2ME):– Java 2 Mobile Edition – J2ME– Mobil uygulamalar geliştirmek için ortam sunar.

– Cep telefonu, akıllı telefonlar, televiyonlar, buzdolabı, çamaşırmakinesi 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, J2MEplatformu 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, mobildosyalama ve veritabanı işlemleri, grafik ve video işlemleri vb. mobilprogramlar yapabileceğimiz Java platformudur.

– Yeni nesil Android işletim sistemli telefonlara da J2ME ile yazılımyapılabilir.

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

10

Java’nın Kodlama ve Çalışma Adımları

JAVA’NIN KODLAMA VE ÇALIŞMA ADIMLARI

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

12

•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.

•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.

JAVA’NIN KODLAMA VE ÇALIŞMA ADIMLARI

• 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 vedosya ismi.java uzantılı olarak diske kaydediyoruz.

• 2.Aşama: Java compiler’ı çalıştırıyoruz ve dosya ismini veriyoruz. JavaCompiler’ın (Derleyicisi) ismi Javac’ dır. Compiler, java uzantılı yazdığımızkodları byte code adı verilen ara bir koda dönüştürür ve bunun sonucundadiskte 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üklenenbu 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 bytecodeları, 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

13

JAVA’NIN KODLAMA VE ÇALIŞMA ADIMLARI

• Kısaca;– 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şlemleryardımıyla değişiklik yapmadan java kodumuzu çalıştırabiliriz.

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

14

Java Derleyicisi, Java Yorumlayıcısı

JAVA DERLEYİCİSİ, JAVA YORUMLAYICISI

• JAVAC: java derleyicisinin ismi javac’dır ve bu java platformunuyü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.

• JAVA: derlenen java dosyasının çalıştırmak için Java adlıprogramcığı kullanırız.– Kodu çalıştırmak için;

java dosya ismi

yazmamız yeterli olacaktır.

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

16

Java Çöp Toplayıcısı(Java Garbage Collector)

JAVA ÇÖP TOPLAYICISI

• Bir programın çalışma durumunda ortaya çıkan ve sonradankullanılmayan (gereksiz) nesneleri bulur ve onları yok eder.

• Ana Bellek yönetiminin kontrolü ve yükü, kodu yazan kişiden Java’nınkontrolüne geçmiş olur.

• C++ benzeri diğer nesne tabanlı dillerde olduğu gibi nesnelerin yokedilmesini geri planda çöp toplayıcı halleder.

• Nesne tanımlandıktan sonra hiç kullanılmadıysa, kullanıldıktan bir süresonra kullanılma bırakılmışsa veya o nesne ile ilgili işlemler bitip nesnekullanı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

18

SORULAR

• 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ı dosyalaroluş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 vesonucunda .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 ByteCode adı verilir ve içeriğinde Byte olarak kodlar bulunur.

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

19

GENEL BAKIŞ

• Java nesne tabanlı bir programlama dilidir.

• Java temeli nesnedir, yani Java’da her yapılan işlem, yazılan kodbirer nesnedir.

• Bu nedenle Java nesneye yönelik programlama yapılırkenkullanılabilecek dillerden biridir.

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

20

Ders Bitti.Dinlediğiniz için teşekkürler…

•Uzaktan Eğitim Uygulama ve Araştırma Merkezi