Java SE  - Giriş

Java SE - Giriş

Arkadaşlar merhaba,

Java notlarının ilk bölümü ile başlıyoruz. Java 11 OCP sınavına hazırlanırken ve daha öncesinde aldığım bu notları olabildiğince açıklayıcı ve derinlemesine aktarmaya çalışacağım.Umarım faydalı olur..

Java Programlama Dilinin Özellikleri Nedir ?

Kısaca özetlemek gerekir ise ;

Java Object Oriented (nesne tabanlı/yönelimli) bir dildir.

Yani java programlama da kod sınıflarda (class) dosyalarında tanımlanır.

Class ise nesnenin (object) bir şablonudur diyebiliriz.

Sınıflar üzerinden nesnenin durum ve davranışları tanımlanarak bu şablonlar oluşturulur.

Java'nın ayrıca özellikleri arasında platform bağımsız, sağlamlık, basitlik, güvenlik, çoklu kullanım(Multithreaded) ve geriye dönük uyumluluk(Backward Compatibility) vardır.

JDK - JVM

JDK , Java Development Kit anlamına gelir ve java kodu geliştirmeniz için ihtiyacınız olan minimum yazılım gereksinimlerini içerir. JDK ayrıca, dosyaları birlikte paketleyebilen arşivleyici (jar) ve dokümantasyon oluşturmak için API dokümantasyonu (javadoc) da dahil olmak üzere başka araçlar da içerir.

Compiler ile JVM başlatıcısını içerir.

JVM, yani Java Virtual Machine ve bayt kodunu çalıştırır.JVM, bulunduğu gerçek makinede bayt kodunun nasıl çalıştırılacağını bilir.

Java’da kaynak kodu (source code) derlemek (compile) için, Java derleyicisi (Java compiler) kullanılır. Java derleyicisi javac komutu ile çalıştırılır.Java derleyicisi java uzantılı kaynak kodundan class uzantılı derlenmiş bytecode üretir. Bytecode, platformdan bağımsızdır, JVM’in olduğu her ortamda çalıştırılabilir.

getStarted-compiler.gif

Hata olduğunda class dosyası oluşmaz, varsa yenilenmez, kaynak kodundaki hatanın giderilip kodun tekrar derlenmesi gerekir.

Java hem derlenir(compiled) hem yorumlanır(interpreted) bir dildir.

Java kaynak kodları doğrudan makina koduna derlenmez.Bytecode'lardan oluşan class uzantılı dosyalara derlenir. Bytecode'lar ise çalışma zamanın da JVM tarafından yorumlanır.

Komut satırı üzerinden javac komutu ile derlenir.

javac MyClass.java

Paket adı ile compile etmek için ;

javac packagea/ClassA.java packageb/ClassB.java

Daha sonra oluşturulan .class uzantılı dosya ise;

java MyClass
komutu ile komut satırı üzerinden de çalıştırılabilir.
javap -c ClassAdı.class ile btyeCode görülebilir.

Varsayılan olarak, javac komutu, derlenmiş sınıfları kaynak kodla aynı dizine yerleştirir. Ayrıca sınıf dosyalarını farklı bir dizine yerleştirme seçeneği sunar. -d seçeneği bu hedef dizini belirtir.

 javac -d classes packagea/ClassA.java packageb/ClassB.java

JRE

JRE, bir programı çalıştırmak için kullanılan ancak derlenemeyen JDK'nın bir alt kümesiydi.Aslında, Java'nın eski sürümlerinde bir JDK'nın dizin yapısının içine bakarsanız, jre adlı bir klasör görürsünüz. Java 11'de, JRE artık bağımsız bir indirme veya JDK'nın bir alt dizini olarak mevcut değildir.

Şimdilik bu kadar daha sonra görüşmek üzere :)