Java Derleyicisini ve Java Sanal Makinesini Anlamak - Bölüm 4


Şu ana kadar Java'nın çalışma ve kod yapısını, Java'da Sınıf, Ana yöntem ve Döngü Kontrolünü inceledik. Bu yazıda Java Derleyicisi ve Java Sanal Makinesi Nedir'i göreceğiz. Ne işe yaradıkları ve rolleri.

Java Derleyicisi Nedir?

Java, güçlü bir şekilde yazılan bir dildir; bu, değişkenin doğru türde verileri tutması gerektiği anlamına gelir. Türü kesin belirlenmiş bir dilde bir değişken yanlış veri türünü tutamaz. Bu, Java Programlama Dilinde çok iyi uygulanan bir güvenlik özelliğidir.

Java derleyicisi, değişkenlerin veri türü tutmadaki herhangi bir ihlale karşı kontrol edilmesinden sorumludur. Java'nın dinamik bağlama özelliği için zorunlu olan çalışma zamanında birkaç istisna ortaya çıkabilir. Java programı çalışırken, daha önce mevcut olmayan yeni nesneleri içerebilir, dolayısıyla bir dereceye kadar esnekliğe sahip olmak için, bir değişkenin tutabileceği veri türünde birkaç istisnaya izin verilir.

Java Derleyicisi, yorumlar dışında hiçbir zaman derlenmeyecek kod parçaları için filtre ayarlar. Derleyici yorumları ayrıştırmaz ve olduğu gibi bırakır. Java kodu, Program içerisinde üç tür yorumu destekler.


1. /* COMMENT HERE */
2. /** DOCUMENTATION COMMENT HERE */
3. // COMMENT HERE

/* ile */ veya /** ile */ arasına veya 'den sonra yerleştirilen herhangi bir şey // Java Derleyicisi tarafından göz ardı edilir.

Java Derleyicisi herhangi bir sözdizimi ihlalinin sıkı bir şekilde kontrol edilmesinden sorumludur. Java Derleyicisi bir bayt kodu derleyicisi olacak şekilde tasarlanmıştır, yani tamamen bayt koduyla yazılmış gerçek program dosyasından bir sınıf dosyası oluşturur.

Java Derleyici güvenliğin ilk aşamasıdır. Değişkendeki yanlış veri tipinin kontrol edildiği ilk savunma hattıdır. Yanlış bir veri türü programa ve program dışına zarar verebilir. Ayrıca derleyici, herhangi bir kod parçasının özel sınıf gibi kısıtlı bir kod parçasını çağırmaya çalışıp çalışmadığını kontrol eder. Kod/sınıf/kritik verilere yetkisiz erişimi kısıtlar.

Java Derleyicisi, JVM'nin çalışmasını gerektiren platform ve mimari açıdan tarafsız bayt kodları/sınıf dosyaları üretir ve tam anlamıyla herhangi bir cihazda/platformda/mimaride çalışır.

Java Sanal Makinesi (JVM) Nedir?

Java Sanal Makinesi, Java Uygulaması ile işletim sistemi arasına ekstra bir katman koyan bir sonraki güvenlik hattıdır. Ayrıca, birisinin yetkisiz kritik verilere erişimi kısıtlamak için sınıf dosyasına/bayt koduna müdahale etmesi durumunda, Java Derleyicisi tarafından güvenliği kontrol edilen ve derlenen sınıf dosyasını kontrol eder.

Java Sanal Makinesi, sınıf dosyasını makine diline yükleyerek bayt kodunu yorumlar.

JVM, Yükleme ve Depolama, Aritmetik hesaplama, Tür dönüştürme, Nesne Oluşturma, Nesne İşleme, Kontrol Transferi, Fırlatma istisnası vb. işlevlerden sorumludur.

Java Derleyicisinin kodu calssfile/bayt kodları halinde derlediği ve ardından Java Sanal Makinesinin sınıf dosyasını/bayt kodunu çalıştırdığı Java çalışma modeli. Bu model, kodun yüksek hızda çalışmasını sağlar ve ek katman güvenliği sağlar.

Peki siz ne düşünüyorsunuz: Java Derleyicisi mi yoksa Java Sanal Makinesi mi daha önemli bir görevi yerine getiriyor? Bir Java programının esasen hem yüzeyde (Derleyici hem de JVM) çalışması gerekir.

Bu yazı Java Derleyicisi ve JVM'nin rolünü özetlemektedir. Tüm önerilerinizi aşağıdaki yorumlara bekliyoruz. Bir sonraki yazımız olan “Java'nın nesne yönelimli yaklaşımı” üzerinde çalışıyoruz. O zamana kadar bizi izlemeye devam edin ve TecMint'e bağlı kalın. Bizi beğenip paylaşın ve yayılmamıza yardımcı olun.