Etkili Java – Blog Yazma – Web Tasarımı Yapımı – Web Tasarımı YouTube Videosu Yapımı – Web Sitesi Tasarlama Fiyatları
Etkili Java
Bu çalışma, JavaTM programlama dilini ve onun temel kitaplıkları olan java.lang, java.util ve daha az ölçüde java.io’yu en etkili şekilde kullanmanıza yardımcı olmak için tasarlanmıştır. Kitap zaman zaman diğer kitaplıklardan bahseder, ancak grafik kullanıcı arabirimi programlamasını veya kurumsal API’leri kapsamaz.
Bu kitap, her biri bir kuralı ifade eden elli yedi maddeden oluşmaktadır. Kurallar, genellikle en iyi ve en deneyimli programcılar tarafından faydalı olduğu düşünülen uygulamaları yakalar.
Öğeler, her biri yazılım tasarımının geniş bir yönü ile ilgili olan dokuz bölümde gevşek bir şekilde gruplandırılmıştır. Kitap baştan sona okunmak için tasarlanmamıştır: Her öğe az çok kendi başına ayakta durur. Öğeler yoğun bir şekilde çapraz referanslıdır, böylece çalışma boyunca kendi rotanızı kolayca çizebilirsiniz.
Çoğu öğe program örnekleriyle gösterilmiştir. Bu kitabın önemli bir özelliği, birçok tasarım modelini ve deyimi gösteren kod örnekleri içermesidir. Singleton (Madde 2) gibi bazıları eski, Finalizer Guardian (Madde 6) ve Defensive readResolve gibi diğerleri ise yeni.
Bu kalıplara ve deyimlere kolay erişim için ayrı bir dizin sağlanmıştır. Uygun olduğunda, bu alandaki standart referans çalışmasına çapraz referans verilir.
Birçok öğe, kaçınılması gereken bazı uygulamaları gösteren bir veya daha fazla program örneği içerir. Her durumda, öğe örneğin neden kötü olduğunu açıklar ve alternatif bir yaklaşım önerir.
Bu kitap yeni başlayanlar için değildir: Java programlama dilini zaten bildiğinizi varsayar. Eğer değilseniz, birçok güzel giriş metninden birini düşünün [Arnold00, Campione00]. Kitap, dil bilgisi olan herkes için erişilebilir olacak şekilde tasarlanmış olsa da, ileri düzey programcılar için bile düşünce için yiyecek sağlamalıdır.
Bu kitaptaki kuralların çoğu birkaç temel ilkeden türetilmiştir. Netlik ve sadelik çok önemlidir. Bir modülün kullanıcısı davranışından asla şaşırmamalıdır.
Modüller mümkün olduğunca küçük olmalı, ancak daha küçük olmamalıdır. (Bu kitapta kullanıldığı şekliyle modül terimi, tek bir yöntemden birden çok paketten oluşan karmaşık bir sisteme kadar yeniden kullanılabilir herhangi bir yazılım bileşenini ifade eder.) Kod kopyalanmak yerine yeniden kullanılmalıdır.
Modüller arasındaki bağımlılıklar minimumda tutulmalıdır. Hatalar yapıldıktan sonra mümkün olan en kısa sürede, ideal olarak derleme zamanında tespit edilmelidir.
Bu kitaptaki kurallar zamanın yüzde 100’ünü uygulamasa da, çoğu durumda en iyi programlama uygulamalarını karakterize ederler. Bu kurallara körü körüne uymamalısınız, ancak bunları yalnızca ara sıra ve iyi bir sebeple ihlal etmelisiniz. Programlama sanatını öğrenmek, diğer birçok disiplin gibi, önce kuralları öğrenmek ve sonra onları ne zaman ihlal edeceğini öğrenmekten ibarettir.
Çoğunlukla, bu kitap performansla ilgili değil. Açık, doğru, kullanılabilir, sağlam, esnek ve bakımı kolay programlar yazmakla ilgilidir. Bunu yapabilirseniz, ihtiyacınız olan performansı elde etmek genellikle nispeten basit bir meseledir.
Bazı maddeler performansla ilgili endişeleri tartışır ve bu maddelerden birkaçı performans rakamlarını sağlar. “Makinemde” ibaresi ile tanıtılan bu sayılar en iyi ihtimalle yaklaşık olarak kabul edilmelidir.
Java programlama dilinin ve kitaplıklarının özelliklerini tartışırken, bazen belirli yayınlara atıfta bulunmak gerekir. Özetlemek gerekirse, bu kitap resmi sürüm adları yerine “mühendislik sürüm numaralarını” kullanır. Sürüm adları ile mühendislik sürüm numaraları arasındaki ilişkiyi gösterir.
Effective Java
Java SE
Effective Java Türkçe
Java download
What is Java
Desene göre metot oluşturma Java
Effective java pdf GitHub
Temel Java
Nesneleri Oluşturma ve Yok Etme
Bu bölüm, nesnelerin yaratılması ve yok edilmesiyle ilgilidir: nesnelerin ne zaman ve nasıl oluşturulacağı, ne zaman ve nasıl yaratılmasından kaçınılacağı, nesnelerin zamanında imha edilmesinin nasıl sağlanacağı ve nesne imhasından önce yapılması gereken temizleme eylemlerinin nasıl yönetileceği önemlidir.
Yapıcılar yerine statik fabrika yöntemleri sağlamayı düşünün
Bir sınıfın bir istemcinin bir örnek almasına izin vermenin normal yolu, bir ortak kurucu sağlamaktır. Her programcının araç setinin bir parçası olması gereken, daha az bilinen başka bir teknik daha vardır.
Bir sınıf, yalnızca sınıfın bir örneğini döndüren statik bir yöntem olan genel bir statik fabrika yöntemi sağlayabilir. İşte Boolean sınıfından (ilkel boole türü için sarmalayıcı sınıfı) basit bir örnek. 1.4 sürümünde eklenen bu statik fabrika yöntemi, bir boole temel değerini bir Boole nesne başvurusuna çevirir.
Bir sınıf, istemcilerine yapıcılar yerine veya bunlara ek olarak statik fabrika yöntemleri sağlayabilir. Bir kamu kurucusu yerine statik bir fabrika yöntemi sağlamanın hem avantajları hem de dezavantajları vardır.
Statik fabrika yöntemlerinin bir avantajı, yapıcıların aksine adlarının olmasıdır. Bir kurucunun parametreleri, kendi başlarına döndürülen nesneyi tanımlamıyorsa, iyi seçilmiş bir ada sahip statik bir fabrika, bir sınıfın kullanımını ve sonuçta ortaya çıkan istemci kodunun okunmasını kolaylaştırabilir.
Örneğin, muhtemelen asal olan bir BigInteger döndüren BigInteger(int, int, Random) yapıcısı, BigInteger.probablePrime adlı statik bir fabrika yöntemi olarak daha iyi ifade edilebilirdi.
Bir sınıf, belirli bir imzaya sahip yalnızca tek bir kurucuya sahip olabilir. Programcıların, parametre listeleri yalnızca parametre türlerinin sırasına göre farklılık gösteren iki kurucu sağlayarak bu kısıtlamayı aştıkları bilinmektedir.
Bu kötü bir fikir. Böyle bir API’nin kullanıcısı, hangi kurucunun hangisi olduğunu asla hatırlayamaz ve yanlışlıkla yanlış olanı çağırır. Bu kurucuları kullanan kodu okuyan kişiler, sınıf belgelerine bakmadan kodun ne yaptığını bilemezler.
Statik fabrika yöntemlerinin adları olduğundan, bir sınıfın yalnızca belirli bir imzaya sahip olabileceği kısıtlamasını yapıcılarla paylaşmazlar. Bir sınıfın aynı imzaya sahip birden çok kurucu gerektirdiği durumlarda, bir veya daha fazla kurucuyu, dikkatle seçilmiş adları farklılıklarını vurgulayan statik fabrika yöntemleriyle değiştirmeyi düşünmelisiniz.
Statik fabrika yöntemlerinin ikinci bir avantajı, yapıcıların aksine, her çağrıldıklarında yeni bir nesne oluşturmalarının gerekmemesidir. Bu, değişmez sınıfların (Öğe 13) önceden oluşturulmuş örnekleri kullanmasına veya örnekleri oluşturuldukları sırada önbelleğe almasına ve gereksiz yinelenen nesneler oluşturmaktan kaçınmak için bu örnekleri tekrar tekrar dağıtmasına izin verir.
Boolean.valueOf(boolean) yöntemi bu tekniği gösterir: Asla bir nesne oluşturmaz. Bu teknik, özellikle bu nesnelerin oluşturulması pahalıysa, eşdeğer nesneler sık sık isteniyorsa, performansı büyük ölçüde artırabilir.
Statik fabrika yöntemlerinin aynı nesneyi tekrarlanan çağrılardan döndürme yeteneği, herhangi bir zamanda hangi örneklerin var olduğu üzerinde sıkı kontrol sağlamak için de kullanılabilir. Bunu yapmanın iki nedeni var. İlk olarak, bir sınıfın bir singleton olduğunu garanti etmesine izin verir (Madde 2).
İkinci olarak, değişmez bir sınıfın iki eşit örneğin bulunmadığından emin olmasını sağlar: a.equals(b) ve ancak ve ancak a==b ise. Bir sınıf bu garantiyi veriyorsa, istemcileri, önemli bir performans artışıyla sonuçlanabilecek olan equals(Object) yöntemi yerine == operatörünü kullanabilir. Öğe 21’de açıklanan typesafe enum modeli bu optimizasyonu uygular ve String.intern yöntemi bunu sınırlı bir biçimde uygular.
Web sitelerinizi, arama motorlarında en yukarı getirmek adına sizlere 3 adet paket öneriyoruz. Bu paketler sayesinde web siteleriniz aramalarda 1 yıl içerisinde en yukarıya tırmanacaktır.
1) Backlink Paketi 50 $ (Yıllık Ücret)
2) Hızlandırma Paketi 300 $ (Yıllık Ücret)
3) Kelime Yönlendirme Paketi 150 $ (Aylık Ücret)