Java nedir?
Java, C ve C++’a biraz benzeyen çok amaçlı ve nesne yönelimli bir programlama dilidir; Ancak kullanımı daha kolaydır ve onunla güçlü programlar oluşturmak mümkündür. Tabii ki, 2000 yılında Sun Microsystems tarafından sağlanan tanım belki de yukarıdaki tanımdan daha anlamlıdır:
Java, basit, nesne yönelimli, ağ dostu, yorumlanabilir, sağlam, güvenli, mimariden bağımsız, taşınabilir, yüksek performanslı, çok iş parçacıklı ve dinamik bir bilgisayar dilidir.
Java basit bir dildir
Orijinal olarak C ve C++ dillerinde modellenmiştir ve bazı kafa karıştırıcı özellikleri kaldırmıştır. Bu özellikler, Java’da kaldırılan işaretçiler, çoklu kalıtım uygulamaları ve operatör aşırı yüklemesini içerir. C++/C’de olmayan özelliklerden biri; Ancak Java’nın temel özelliklerinden biri, gereksiz nesneleri ve dizileri otomatik olarak kaldıran bellek geri dönüşümü (çöp toplama) olasılığıdır.
Java nesne yönelimli bir dildir
Java’nın nesne yönelimli odağı, dili kullanan geliştiricileri, problem kısıtlamalarını çözmek için onunla uğraşmaktan ziyade bir problemi çözmek için kullanmaya yönlendirdi. Bu durum Java ile C arasındaki ayrımın ortaya çıkmasına neden olmuştur. Örneğin, bir banka hesabı için bir program yazmak istiyorsanız, Java’da sadece banka hesabı nesnesini kaydetmeniz yeterlidir; Ancak C’de hesap durumunu (hesap bakiyesi) ve para yatırma veya çekme gibi davranışları bağımsız olarak programlamanız gerekir.
Java ağ tabanlı bir dildir
Java’nın kapsamlı ağ kitaplığı, İletim Kontrol Protokolü/İnternet Protokolü (TCP/IP) ve HTTP (Köprü Metni Aktarım Protokolü) ve FTP (Dosya Aktarım Protokolü) gibi ağ protokolleriyle çalışmayı ve ağ bağlantılarını kolaylaştırmayı kolaylaştırır. Ayrıca Java programları, TCP/IP ağı üzerinden, URL’ler aracılığıyla nesnelere erişebilir ve bu erişim, yerel dosya sistemine erişmek kadar basittir.
Java yorumlanmış bir dildir
Bir Java programı, çalışma zamanında dolaylı olarak bir sanal makine (varsayımsal bir platformun yazılım temsilidir) ve bir altyapı platformunun (Windows veya Linux gibi) aracılık ettiği ilişkili çalışma zamanı ortamı aracılığıyla çalışır. Bu sanal makine, bayt kodlarını (talimatlar ve ilgili veriler) yorumlama yoluyla platforma özel talimatlara çevirir. Yorumlama, talimatların anlamını belirleme ve ardından yürütülecek platforma özel talimatları seçme eylemidir. Ardından, sanal makine bu platforma özel talimatları yürütür. Java’nın bu yorumlayıcı özelliği, Java programlarında hata ayıklamayı kolaylaştırdı, çünkü derleme zamanı bilgilerinin çoğu aslında çalışma zamanı ortamında mevcut. Java’nın yorumlanabilirliği, Java programının farklı bölümleri arasındaki bağlantıyı yürütme zamanına kadar geciktirmeyi de mümkün kılar ve bu sorun, program geliştirme hızını artırır.
Java sağlam bir dildir
Blu-ray oynatıcılardan araç navigasyonu veya hava trafik kontrol sistemlerine kadar hem tüketici hem de kritik görev uygulamalarında kullanıldıkları için güvenilir olmalıdır. Java dilini güçlü kılan özellikleri arasında bildirimler, derleme zamanında bir kez ve çalışma zamanında (sürüm uyumsuzluklarını önlemek için) veri türü yeniden denetimi, otomatik sınır denetimine sahip gerçek diziler ve işaretçi referansları yer alır.
Java’yı sağlam yapan bir başka özellik de, döngülerin 0’ın “yanlış” ve sıfır olmayan değerlerin “doğru” olduğu tamsayı ifadeleri yerine boole ifadeleri tarafından kontrol edilmesi gerektiğidir. Örneğin, C’den farklı olarak Java’da aşağıdaki ifadeye benzer döngüler vardır.
++ iken (x) x
izin verilmez; Çünkü döngü beklendiği yerde durmayabilir. Bunun yerine, aşağıdaki gibi açık boole ifadeleri olmalıdır.
++ iken (x!= 10) x
kullanılır, yani döngü x 10’a eşit olana kadar çalışır.
Java güvenli bir dildir
Ağa bağlı/dağıtılmış ortamlarda kullanılır. Java uygulamaları çeşitli ağ platformlarında çalışabildiğinden, bu platformları virüs yayabilecek, banka kartı bilgilerini çalabilecek veya kötü niyetli eylemler gerçekleştirebilecek kötü amaçlı kodlardan korumak önemlidir. Java dilini sağlam yapan özellikler arasında, Java’nın güvenli sanal alan modeli ve ortak anahtar şifrelemesi gibi güvenlik özellikleriyle birlikte çalışan kullanımdan kaldırılan işaretçiler bulunur. Bu iki özellik türü birlikte, virüslerin ve diğer kötü amaçlı kodların şüpheli platformları etkilemesini önler. Java teorik olarak güvenlidir; Ancak uygulamada, çeşitli güvenlik açıkları tespit edilmiş ve istismar edilmiştir. Sonuç olarak, geçmişte Sun Microsystems ve şimdi Oracle her zaman Java için güvenlik güncellemeleri yayınlar.
Java mimariden bağımsız bir dildir
Ağlar, farklı mikroişlemci ve işletim sistemleri mimarilerine sahip platformları birbirine bağlar. Java’nın platforma özel talimatlar oluşturması ve bu talimatların ağın parçası olan tüm platform türleri tarafından anlaşılması beklenemez. Bunun yerine Java, herhangi bir platform için (JVM uygulaması aracılığıyla) yorumlanması kolay, platformdan bağımsız bayt kodu talimatları oluşturur.
Java taşınabilir bir dildir
Mimariye bağımlılığın olmaması Java’yı taşınabilir hale getirdi. Ancak Java’nın taşınabilirliği, bayt kodu talimatlarının platformdan bağımsız olması gerçeğinden daha fazlasıdır. Örneğin, tamsayı türünün boyutunun farklı platformlarda aynı olacağını düşünün. Örneğin, 16 bit, 32 bit veya 64 bit kayıtlara sahip platformlarda işlenip işlenmediğine bakılmaksızın 32 bit tamsayı türü; Ancak, imzalıdır ve 32 bit bellek kaplar. Java kitaplıkları da taşınabilir olmasına yardımcı olur. Gerektiğinde bu kitaplıklar, Java kodunu platforma özgü yeteneklere mümkün olan en taşınabilir şekilde bağlayan veri türleri sağlar.
Java yüksek performanslı bir dildir
Java’nın yorumlayıcı özelliği, çoğu durumda fazlasıyla yeterli olan iyi performans göstermesini sağlamıştır. Java, çok yüksek performanslı uygulamalar için tam zamanında derleme kullanır, yani yorumlanmış bayt kodu talimatlarını analiz eder ve yüksek frekanslı yorumlanmış talimatları platforma özel talimatlarda derler. Bu bayt kodu talimatlarını yorumlamaya yönelik sonraki girişimler, aynı platforma özel talimatların yürütülmesiyle sonuçlanır ve böylece yazılım performansını artırır.
Java çok iş parçacıklı bir dildir
Java, aynı anda birden çok görevi yürüten programların performansını artırmak için çoklu kullanım kavramını destekler. Örneğin, bir grafik kullanıcı arabirimini (GUI) yöneten ve bir ağ bağlantısından giriş bekleyen bir program, bu bekleme için GUI iş parçacığı yerine başka bir iş parçacığı kullanacaktır. Bu şekilde, programın grafik arayüzü hala duyarlı. Java’nın senkronizasyon girişimleri, iş parçacıklarının herhangi bir yıkıcı etki olmaksızın kendi aralarında veri alışverişinde bulunmalarına izin verir.
Java dinamik bir dildir
Program kodu ile çalışma zamanında dinamik olarak yapılan kitaplıklar arasındaki etkileşimler nedeniyle, aralarında açık bir bağlantı oluşturmaya gerek yoktur. Sonuç olarak, bir program veya kitaplıklarından biri geliştiğinde (örneğin, bir hata giderildiğinde veya performans iyileştirildiğinde), geliştiricinin yalnızca güncellenen programı veya kitaplığı yayınlaması gerekir. Java’nın dinamik davranışı, kodu değiştirirken daha az koda ihtiyaç duyulmasına neden olsa da; Ancak bu yayın yöntemi de girişime neden olabilir. Örneğin, bir geliştirici kitaplıktan bir sınıf türünü kaldırabilir veya yeniden adlandırabilir. Bir şirket güncellenmiş bir kitaplık yayınladığında, bu sınıf türüne bağlı olan mevcut programlar bozulur. Bu sorunu çözmek için Java, iki taraf arasındaki etkileşime benzeyen arabirim türünü destekler.
Yukarıdaki özelliklere göre, Java’nın bir dile ek olarak bir programlama platformu olarak kabul edildiğini anlıyoruz. Bu platform, Java sanal makinesini ve Java yürütme ortamını içeren iki önemli bölümden oluşur.
Java’dan hangi diller türetilmiştir?
Scala ve Groovy gibi JVM üzerinde çalışacak şekilde tasarlanmış diller veya Java ortamında çalışacak şekilde geliştirilmiş diller bulunmaktadır. Ayrıca, bazı insanlar C# dilinin büyük ölçüde Java’nın etkisi altında geliştirildiğini iddia edebilir. Microsoft’un C# dili Java’dan sonra geliştirildi ve özellikle Java’dan büyük ölçüde ilham aldı. C# da Java’da bazı iyileştirmelere yol açmıştır ve dolayısıyla bu iki dil karşılıklı olarak birbirini etkilemiştir.
Java’nın JavaScript’ten farkı nedir?
Java ve JavaScript arasında teknik bir ilişki yoktur ve bu iki dil tamamen bağımsızdır. JavaScript, 90’lı yıllarda Netscape tarafından geliştirildi ve başlangıçta LiveScript olarak adlandırıldı. Netscape, kimsenin LiveScript kullanmadığını ve Java’nın popülerlik kazandığını görünce, Java’nın bu popülerlik dalgasından yararlanabilmek için adı JavaScript olarak değiştirdiler. Aslında bu fikir başarılı oldu ve JavaScript popüler oldu; Ancak teknik açıdan bu ikisi arasında hiçbir ilişki yoktur ve yalnızca nominal benzerlikleri vardır. Belki de Java ve JavaScript arasındaki tek teknik benzerlik, her ikisinin de gramerlerini C programlama dilinden almalarıdır. Bu nedenle, Java’ya aşina iseniz, JavaScript’i öğrenmek kolay olacaktır ve bunun tersi de geçerlidir.
Java çerçeveleri nelerdir?
İlginç olan şey, çok amaçlı bir programlama dili olarak kabul edilmesi ve bu nedenle birçok farklı ortamda kullanılmasıdır. Java öncelikle çapraz platform olacak şekilde tasarlanmıştır, bu nedenle Linux makinelerinde, Unix kutularında, Mac’lerde, Windows’ta ve hatta cep telefonlarında çalıştırılabilir. Aslında Java’nın her yerde kullanılabileceği söylenebilir.
Çok basit bir dil olmasa da; Ancak Java kodunu sıfırdan yazmanız gerekmez. Java Sanal Makinesi üzerinde çalışan web, mobil, mikro hizmet ve REST API uygulamaları yazabileceğiniz Java için birçok harika çerçeve vardır.
Çerçeveleri, bir veritabanına bağlantı kurmak veya hataları işlemek gibi temel işlevleri yazmak yerine uygulamanın iş mantığına odaklanmayı mümkün kılar. Ayrıca Java ile kodlama deneyiminiz varsa, çerçeveleri kullanarak programlamaya çok daha hızlı başlayabilirsiniz. Tüm çerçeveler aynı dil bilgisini kullanır ve Java programlama dilinden aynı terminolojiyi, paradigmaları ve kavramları sağlar.