İçerikler :

Brian Goetz Doğrudan Java Kitabını Zafer Teker Tanıtıyor Equinox James Gosling Java Java'nın Temel Özellikleri Java'ya Nasıl ve Nereden Başlayabilirim ? Java Card Java Enterprise Edition - Java EE - J2EE Java Micro Edition - Java ME - JME Javascript Yazım Kuralları (Syntax) Olarak C,.. Java Standart Edition- Java SE - JSE Java Standart Edition Versiyonları Java Sürümleri OSGi - Open Services Gateway initiative Önder Teker - Javanın Geleceği ve Kullanım Al..

Bu Sayfayı Paylaş:

Kavram

Java

Tanım: Sun firması tarafından 1995 yılında yaratılan , yazım kuralları C ve C++'a benzeyen, farklı cihazlar (desktop, laptop, mobil , tv, gömülü sistemler vb..) ve farklı işletim sistemlerinde (Windows, Linux, MacOS vb..) çalışabilen, nesneye yönelik, multi-threaded bir programlama dili

Veri

Java Sürümleri

Java'nın üç edition'ı (sürümü) vardır:
  • Java Standart Edition- Java SE - JSE : Dil ve Java ortamının core (çekirdek) kısmını oluşturur
  • Java Enterprise Edition - Java EE - J2EE : Web ve dağıtık sunucu mimarisine yöneliktir
  • Java Micro Edition - Java ME - JME : Özellikleri yetersiz mobil ve gomülü cihazlara yönelik
  • Java Card : Akıllı kartlar (SIM, ATM kartları gibi) veya benzeri cihazlara yönelik

Kavram

Java Standart Edition- Java SE - JSE

Tanım: Dil ve Java ortamının core (çekirdek) kısmını oluşturan sürüm. Web ve dağıtık sunucu mimarisine yönelik sürüme JEE (Java Enterprise Edition), özellikleri yetersiz mobil ve gomülü cihazlara yönelik sürüme ise JME (Java Micro Edition) adı verilmektedir.

Kavram

Java Enterprise Edition - Java EE - J2EE

Tanım: Java'nın çok farklı yönü olan (sunucu, web vb..) sunucu taraflı büyük çaplı projeler geliştirmek için kullanılan, bir çok standartın bir araya gelmesiyle oluşan Java sürümü.

Kavram

Java Micro Edition - Java ME - JME

Tanım: Java'nın özellikleri yetersiz mobil ve gomülü cihazlara yönelik sürümü. Masaüstü ve temel dil özelliklerini sağlayan sürüme JSE (Java Standart Edition), Web ve dağıtık sunucu mimarisine yönelik sürüme ise JEE (Java Enterprise Edition)

Kavram

Java Card

Tanım: Java'nın SIM veya ATM kartları gibi akıllı kartlara yönelik sürümü. Java çok küçük, minimal bir setidir. Özellikle güvenliğe önem verilmiştir.

Veri

Java Standart Edition Versiyonları

Java standart edition'un (sürümünün) versiyonları ve tarihleri
Java standart edition'un (sürümünün) versiyonları ve tarihleri aşağıdaki gibidir:
  • 1.0 - 1996
  • 1.1 - 1997
  • 1.2 - 1998
  • 1.3 - 2000
  • 1.4 - 2002
  • 5.0 - 2004
  • 6 - 2006
  • 7 - 2011
  • 8 - 2014
  • 9 - 2017
  • 10 - 2018
  • 11 - 2018
  • 12 - 2019
  • 13 - 2019
  • 14 - 2020
  • 15 - 2020
  • 16 - 2021
  • 17 - 2021

Veri

Java'nın Temel Özellikleri

Bu yazıda Java'nın temel özelliklerinden bahsedilmektedir

Java Basittir

Java, kendisine yakın güçteki dillerin en basitidir. Örneğin, Java model olarak aldığı C++'tan çok daha kolaydır. C++'ın çok güçlü bir dil olduğu tartışılmaz. Ama C++ ve C# çoğu bir dilde bulunması çok da şart olmayan karmaşık bir çok özellik içermektedir. Bütün bu özelliklerin öğrenilmesi çok zaman alır. Oysa Java gereksiz çok fazla özellik içermez. Ve Java'da bir özelliğin öğrenilmesi ve kullanılması çok kolaydır. Başka dillerde çok zor yazılan işlemler Java'da çok basit ifadelerle gerçekleştirilebilmektedir.
Java'nin basitliği yanlış anlaşılmamalıdır. VisualBasic/ASP, Delphi/Pascal, Perl, PHP gibi dillerden ve ortamlardan daha basit değildir. Bu sayılan diller çok kolay öğrenilebilen, kısa zamanda yeterli düzeye ulaşılabilen dillerdir. Ancak bu dillerde yapılabileceklerin belli bir sınırı vardır. Bu dillerde büyük çaplı ve karmaşık işler yapamazsınız veya yapmanız durumda çok zorluk çekersiniz. Oysa Java programlamanın her dalında iddia sahibidir. Her geçen gün Java yeni bir alanda söz sahibi olmaktadır. Bu bağlamda 'basit' demek, 'çok gelişmiş işlemlerin basit bir şekilde yapılabilmesini sağlayan' demektir. Yoksa 'programcı bunu anlamaz' diye düşünülmesinden ötürü hiç bir özellik dışarıda bırakılmamıştır.

Java Nesneye Yöneliktir

Java tamamen (bazı kişilere göre %99) nesneye yöneliktir. Diğer bazı diller gibi nesneye yöneliklik sonradan dile eklenmemiştir, başından beri Java'da bulunmaktadır. Bir Java programında olabilecek her şey ya nesnedir ya da bir nesnenin parçasıdır. Java nesneye yönelik programlamayı sadece mümkün değil aynı zamanda kolay kılmıştır. Java'da bir nesnenin yapılması, kullanılması, geliştirilmesi, başka bir yere aktarılması çok kolaydır.

Java Dağıtıktır

Java 'dağıtık' bir dildir. 'Dağıtık' birden fazla bilgisayarda çalışan programların bir biriyle uyumlu çalışabilmesidir. Bir yazılım parçasının bir kısmının bir makinede diğerinin başka makinede aynı anda çalışması mümkündür. Bu yüzden internetin dilinin Java olduğu söylenmektedir. Günümüzde tek bir makine üzerinde çalışan, başka hiç bir yerle bağlantısı olmayan uygulama kalmamış gibidir. Bir çok işletme internet üzerinden iş yapmaktadır. Bir çok işletmede birden fazla makine birbirine bağlı olarak çalışmaktadır. Bu yüzden Java dağıtık programlama için en uygun çözümlerden biridir.

Java Sağlamdır

Java sağlam bir dildir. Programlamadaki hataların çoğu daha yazılma aşamasında anlaşılabilmektedir. Yazılma aşamasında anlaşılmayanlar, programın çalışması esnasında yakalanabilmektedir. Bir 'exception'la, programda hatanın ne olduğu, nerede olduğu ve hangi işlemi yaparken olduğu bile belirtilebilmektedir. Başka dillerin aksine çalışma esnasında bir Java programı "Bir hata oldu!" deyip çökmez. Bir çok durumda hataya rağmen program çökmeden çalışmaya devam eder. Hata olması durumunda da programı çalıştıranlar hatayı ayrıntılarıyla öğrenme olanağına sahip olur.

Java Güvenlidir

Java güvenli bir dildir. Java diliyle virüs yapılamaz. Hiç bir virüs bir Java programına bulaşamaz. Bir Java programının yaptığı her hareket takip edilir. Kötü niyetli bir program, bir işlemi eğer izin verilmediyse yapamaz. Bu özellik, internet gibi herkesin başkasının makinesine erişebildiği bir ortamda çok önemlidir. Java'yı güvenlik gereksinimi yüksek bir çok firma bu yüzden tercih etmektedir.

Mimarilere Yansızdır

Sıradan kullanıcıların bildiğinin aksine dünya üzerinde bir çok işletim sistemi vardır. Hatta kullanıcın çoğunun iyi bildiği Windows işletim sistemi bazı bilgisayar alanlarında hiç kullanılmaz. UNIX/Linux, Apple/Mac, IBM'in çeşitli işletim sitemleri dünya işletim sistemi pazarında büyük yer tutmaktadır. Bir çok masaüstü kullanıcısının tek bildiği işletim sisteminin, bazı sektörlerde adı dahi geçmemektedir. Java'da yazılan bir program hemen hemen bütün işletim sistemlerinde hiç değiştirmeye gerek duymaksızın çalışır. Diğer dillerde bu özellik yoktur. Hatta Windows'un bir versiyonunda çalışan program diğer bir versiyonda çalışmayabilmekte, bazen makinenin çökmesi gibi büyük sonuçlar bile doğurabilmektedir. Windows'u üreten Microsoft firmasının yazdığı programlar bile kendilerinin işletim sistemlerinin bazılarında çalışmamaktadır. Kendilerinin yazdığı belgelerde hangi işletim sistemlerinin hangi versiyonlarında hangi programlarının çalışmadığını belirtilmektedir. Bu durum bütün işletim sistemi ve bütün programlar için geçerlidir. Ürettiği yazılımların her platformda çalışmasını isteyen firmalar giderek daha çok Java'ya yönelmektedir.

Java Taşınabilirdir

Java programları her ortamda aynı veya benzer bir şekilde çalışır. Her ortam/makine için ayrı bir program yazmaya gerek kalmaz. Programcı programın çalışacağı makinenin durumunu göz önüne almak zorunda kalmaz. Bir programın görüntüsü çalıştığı hey yerde hemen hemen aynıdır. C programları da hemen hemen her işletim sisteminde yeniden derlenmek suretiyle çalışabilir. Ama programcı bunun için hazırlık yapmalıdır. Bir işletim siteminde tam sayı -2^15 ile 2^15 arasında değer alırken diğerinde -2^31 ile +2^31 arasında alabilir. Ama Java bu farkları programcıya şeffaf kılar. Programcı her işletim sistemi ve her sürüm için ayrı bir program yazmak zorunda kalmaz.

Java Yorumlanır

Java 'yorumlamalı' bir dildir. Yani bir Java programının komutları, çalışırken makinenin anlayacağı formata çevrilir. Java'da bu Java Virtual Machine (JVM) tarafından yapılır. Bunun avantajı bir programın kullanıldığı standart kütüphanelerin programla birlikte taşınması zorunluluğunu ortadan kaldırmasıdır. Bir yorumlayıcı herhangi bir ortamda varsa, bir dildeki standart her özellik o ortamda var demektir. Programla birlikte bu kütüphanelerin de taşınması gerekmez. Bu da bir Java programının bir makineden başka makineye indirilmesini çok hızlandırır. Çünkü sadece programcının yazdığı nesneler yolculuk yapar. Applet'lerin çalışma prensibi budur. Ana makinede bulunan Applet, tarayıcı tarafından kullanıcının makinesine alınır ve çalıştırılır. Java ortamı, yani JVM tarayıcının içinde mevcuttur.

Java Yüksek Başarımlıdır

Diğer dillerde olmayan bir çok özelliğe sahip olmasına rağmen, Java'da bunun için fazla bir performans kaybı yoktur. Java'nın ilk versiyonlarında çalışan programlar diğer dillerde yazılan eşdeğerlerine göre elbette yavaştır. Ancak Java'nın gelişmesiyle birlikte Java bu farkı, üstün özelliklerinde vazgeçmek zorunda kalmaksızın kapatmaktadır. En son Java sürümüyle birlikte JIT(Just-In Time - Tam Zamanında Derleme) teknolojisi devreye girmiş bulunmaktadır. Bununla birlikte Java programları, diğer dillerde en iyi yazılmış programların hızını hemen hemen yakalayabilmektedir. Java yapılması 'imkansız' gibi görüneni çok da fazla performans kaybına yol açmadan yapar.
Java'nın yavaşlığı en fazla eleştiri alan özelliklerden biridir. Bir programın hızlı çalışması, makinelerin hafıza veya işlemcisini terfi ettirerek çözülebilir. İşlemcinin ve hafızanın çok ucuzladığı günlerde, bu, bir işletme için pek fazla maddi bir yük değildir. Bir programcının sağlam, güvenli ve Java'nın sahip olduğu üstün özelliklere sahip program üretmesi daha fazla masraflıdır. Bir işletmenin, durup dururken bir programın makineyi çökertmesinden dolayı katlanacağı külfet az değildir. Programı yapanların bile hatayı anlamak için saatlerce bazen günlerce uğraşması işletmeye yine maliyet olarak yansıyacaktır. Bu kadar eleştiri almasına rağmen Java'nın giderek daha fazla yaygınlaşmasının elbette nedenleri vardır. Java'nın yavaşlığından sadece Java'yı bilmeyenler ve kullanmayanlar şikayet etmektedir. Ancak Java 'hızla' yayılmaktadır.

Java Çok Kanallıdır

Java dili başından 'çok kanallıdır' (multi-threaded'dir). Çok kanallılık, bir programın aynı anda birden fazla işlemi yürütebilmesi demektir. Bir program herhangi bir şeyi beklerken arada başka bir işlemi gerçekleştirebilir. Beklenen olay gerçekleşince ilk işlem kaldığı yerden aynen devam ettirilir. Üstelik bunun için programcının fazla bir şey yapması da gerekmemektedir. Çok kanallılık bir çok dilde hiç yoktur. C++ gibi dillerde de dilin özelliği değil, ona sonradan eklenmiş kütüphanelerle kullanılabilmektedir. Ama Java'nın kendisi doğuştan çok kanallıdır. Bu yüzden çok kanallı program yapmak için en kolay dil Java'dır.

Java Dinamiktir

Java'da bir programla kullandığı birimlerin (kütüphaneler, modüller veya sınıfların) birbirine bağlanması çalıştırma anında yapılır. Buna 'sonradan bağlama' (late binding) denir. Kullanılan birimlerin iç yapısı değiştirildiğinde, bu birimleri kullanan programın değişmesi gerekmez. Yeter ki birimlerin dışarıdan çağırma şekilleri değişmesin. Oysa C++ gibi dillerde herhangi bir değişiklikte (bu bir modülün iç yapısında çağıranları ilgilendirmeyen çok ufak bir değişiklik bile olsa) her şeyin yeniden işleme tabi tutulması gerekir. Buna da 'erken bağlama' (early binding) denir. Java'da late-binding bu özellik olmasaydı, Java kütüphanelerindeki her hata düzeltme ve değişiklikte dünyadaki bütün programları yeniden işleme tabi tutmamız gerekirdi ki bu mümkün değildir.

Sonuç

Java iyi bir programlama dilidir. Giderek yaygınlaşması, diğer dillerin giderek Java'ya benzemeye başlaması ve taklitlerinin çıkması da bunu göstermektedir. Java'yı tercih etmeyenler elbette olmuştur ve olacaktır. Ama buzdolabının bile Java bildiği bu dönemde bu dili hiç bilmemek, tümüyle yok saymak bilgisayar alanında var olmak isteyen insanlar için büyük bir eksiklik olacaktır.

Veri

Javascript Yazım Kuralları (Syntax) Olarak C, C++ ve Java'ya Benzemektedir

Javascript yazım kuralları(syntax) açısından C, C++ ve Java'ya benzemektedir.
Javascript ile diğer diller arasında sadece yazım benzerliği söz konusudur bunun dışında diğer diller ile hem özellik hem de kullanım yerleri , amacı bakımından bir benzerliği bulunmamaktadır.
Javascript ile Java tamamen farklı iki dildir ve Javascript içinde geçen Java ile nesneye yönelik, çok amaçlı kullanılan Java dilinin bir ilgisi yoktur.

Kavram

OSGi - Open Services Gateway initiative

Tanım: Javada modüler bileşenler ve servisler geliştirmeyi, bu servis ve bileşenlerin yönetilmesini (kurulması, kaldırılması, aktifleştirilmesi, deaktiveleştirilmesi , güncelleştirilmesi) ve birbirinden bağımsız ve etkilenmeden çalışmasını sağlayan bir standarttır. OSGi Alliance tarafından çıkarılan bir yazılım standartıdır. Equinox (Eclipse), Apache Felix, Concierge, Knopflerfish gibi farklı OSGi implemantasyonu bulunmaktadır.

Kavram

Equinox

Tanım: Eclipse kurumu tarafından geliştirilen bir OSGi implemantasyonu. Javada modüler bileşenler ve servisler geliştirmeyi, bu servis ve bileşenlerin yönetilmesini (kurulması, kaldırılması, aktifleştirilmesi, deaktiveleştirilmesi , güncelleştirilmesi) ve birbirinden bağımsız ve etkilenmeden çalışmasını sağlamaktadır. Eclipse projeleri Equinox alt yapısına dayanır.

Materyal

Doğrudan Java Kitabını Zafer Teker Tanıtıyor

Doğrudan Java (Fundamentals, Database, Desktop, Programming) kitabını, kitabın yazarı olan Zafer Teker tanıtıyor. Temel dil, Collection, Nesneye Yönelik Programlama, Thread/Timer, I/O, Socket, Desktop bölümlerinden bahsediliyor

Materyal

Önder Teker - Javanın Geleceği ve Kullanım Alanları

Javanın geleceği nasıl ? Kurumsal Java kullanım alanları. Android Java ve Enterprise Java aynı mı ? Kotlin nedir ? Javacıların maaşları daha mı fazla ?

Kişi

James Gosling

1955 doğumlu, Java dilinin yaratıcısı Kanadalı bilgisayar uzmanı.

Kişi

Brian Goetz

Java dili uzmanı ve mimarı

Blog

Java'ya Nasıl ve Nereden Başlayabilirim ?

Bilmediği bir şeyi öğrenmek isteyenlerin ilk başta yaşadıkları en büyük sorun nereden ve nasıl başlayacaklarını bilememeleridir. Bu yazı Java'ya başlamak isteyenlere yardımcı olacaktır.
Java'ya başlamak için iki ayrı yoldan ilerlemenizi tavsiye ederim.
Birinci yol teorik olarak ilerlemek, ikinci yol ise uygulama yapmaktır. Bu iki yolu paralel bir şekilde ilerletmeniz yararlı olacaktır.

Teorik Yol

İlk yolda ilk anlaşılması gereken Java dilinin temeli olan sınıf (class[klas]), nesne (object), yöntem(method [methıd]), alan (field[fiıld]) kavramlarıdır. Buna bilgilere genel olarak nesneye yönelik programlama (object oriented programming [object oryantıd programing) adı verilir. Bu konuyu iyi anlamanız önemlidir.

Pratik Yol

İkinci yol ise doğrudan uygulamadır. Yani bir program yazma ve onu çalıştırmaktır.

JDK Kurulumu

Java'da bir program yazmak ve çalıştırmak için en önemli ve yaygın araç JDK'dır [Jey Dı Key] (Java Development Kit - Java Geliştirme Kiti). Bu nedenle ilk iş olarak bu uygulamayı geliştirme yapacağınız bilgisayara kurmanız gerekir. Bu aracı Oracle'nın sitesinden indirebilirsiniz. Google'da JDK + Oracle + Download yazarsanız muhtemelen download sayfası gelecektir.
Şu anda en yaygın kullanılan versiyon 8'dir. Ancak Java 11'e geçiş de devam etmektedir. Bu nedenle 2021 itibarıyla yeni başlıyorsanız Java 11'den başlamanızı tavsiye ederim. Bu nedenle JDK 11. versiyonu indirmelisiniz.

JDK Kurulum Kontrolü

Kurulumdan önce bilgisayarınızda Java ortamının kurulu olup olmadığını kontrol etmek iyi olur. Windows'da start menüsünde veya Program Files'ın altında Java klasörünü arayabilirsiniz. Veya komut satırından
java -version
yazıp kurulu java var mı yok mu öğrenebilirsiniz.

JRE

Kurulum kontrol ederken dikkat edilmesi gereken bir konu var. Bazı işletim sistemlerinde Java uygulamalarını çalıştırabilmesi için JRE [Jey Ağr İ] (Java Runtime Environment) kurulu gelebilir. JRE yazdığınız kodu derleme araçları içermez sadece çalıştırmak içindir. Bu nedenle Java geliştirmek için yeterli değildir. JDK kurulu olması gerekmektedir. JDK içinde JRE bulunmaktadır. JDK kurduğunuzda JRE de kurmuş olursunuz.

Eclipse Kurulumu

JDK kurulumu tamamlandıktan sonra artık kodu derleme ve çalıştırma aracınız var demektir. Kod yazmak için ise Eclipse, NetBeans gibi IDE (ide) ler kullanılır. JDK kurulumundan sonra yaygın kullanılan Eclipse'i kurmanızı tavsiye ederim. Google'da eclipse + download yazarsanız Eclipse kurulumları gelecektir.
Eclipse, ortamda bulunan JRE ile açılacaktır. Ancak program yazmanız ve derlemeniz için bir JDK gerekecektir. Eğer tanımlı bir JDK var ise Eclipse onu görecektir. Görmemiş ise Eclipse içinde JDK'yı tanıtabilirsiniz.

Yazma, Derleme, Çalıştırma

JDK ve onun üzerinde Eclipse'i çalıştırdıysanız artık kod yazabilir, derleyebilir ve çalıştırabilirsiniz. Eclipse kodu derlemek ve çalıştırmak için arka planda JDK'yı kullanacaktır.
Eclipse ilk açılırken sizden workspace klasörü isteyecektir. Uygun bir klasörü verirseniz bir workspace (çalışma alanı) yaratmış olursunuz. Workspace açıldıktan sonra da yeni bir Java Projesi yaratmanız gerekir. Yarattıktan sonra da internetten basit örneklerini bulabileceğiniz bir HelloWorld uygulama kodu örneği bulabilirsiniz.
public class HelloWorld {
 
  public static void main(String[] args) {
    System.out.println("Hello World");
  }
 
}
Yukarıdaki örneği şuradan indirebilirsiniz : www.fibiler.com/Dogrudan-Java_Dosya_1420?path=Book%2Fsrc%2FHelloWorld.java
Bu örneği projenize eklediğizde Eclipse bunu derleyecektir. Eclipse projelerde değişiklik yapılır yapılmaz sizin için derleme yapmaktadır. Bu uygulamayı çalıştırdığınızda Eclipse'in içinde alt tarafta console ekranı çıkacak ve ekranda yazı gözükecektir.

Özet

Özetle ortama JDK kurduktan sonra Eclipse'i kurarak geliştirmeye başlayabilirsiniz. JDK derleme ve çalıştırmak için kullanılır. Eclipse ise kolay kod yazımı ve JDK'yi kullanarak kodlarınızın derlemesini ve çalıştırmanızı sağlar.



Bu Sayfayı Paylaş:

İletişim Bilgileri

Takip Et

Her Hakkı Saklıdır. Bu sitede yayınlanan tüm bilgi ve fikirlerin kullanımından fibiler.com sorumlu değildir. Bu sitede üretilmiş , derlenmiş içerikleri, fibiler.com'u kaynak göstermek koşuluyla kendi sitenizde kullanılabilirsiniz. Ancak telif hakkı olan içeriklerin hakları sahiplerine aittir