Nesnelerin oluşturulması ve yok edilmesi
  • Kodları indirmek için lütfen ziyaret ediniz
  • Builder Tasarımı Kalıbı ile karmaşık yapılandırma süreçlerinin üstesinden gelin.
  • Singleton Tasarım Kalıbı en efektif şekilde kullanın
  • Özel yapılancılar ile sınıf tasarımı nasıl yapılır ?
  • Performans problemlerine karşı uyanık olun
  • String ve performans
  • try with resource, 1. ders
  • try with resource, 2. ders
  • equals() ve hashCode() metodlarını beraber ezin !
  • Override toString()
  • Neden Comparable arayüzü önemlidir ?
Sınıflar ve arayüzler
  • Sınıf elemanlarına erişimin kısıtlanması
  • Final ile ilgili güzel ama sorgulanması gereken bir bakış açısı
  • Final anahtar kelimesinin önemi
  • Kalıtım kullanırken son derece dikkat olun
  • Kalıtım ve override ederken bunu yapmayı sakın unutmayın
  • Sabit değerlerin yeri Interface'lerin içerisi değildir.
  • Bir sınıfın içinde birden fazla iş yapmayın çünkü ...
  • SOLID prensipleri çerçevesinde uygulamayı refactor ediyoruz
Generics
  • Generics kullanın ve kullanırın, kullanmayanları uyarın
  • Array yerine Collection yapılarını kullanmakta fayda vardır
  • Generics ifadelerini daha spesifik kullanmanın yolları
  • Generics tipleri tercih etmeniz işlerinizi kolaylaştıracaktır
  • Metod parametrelerini Generics kullanmayı unutmayın.
  • Generics ifadelerine esneklik katın
Önemli noktalar
  • Serializable konusu
Enums ve Annotation
  • Enum yapıları ile daha fazlasını gerçekleştirin
  • Enum ve detaylar
Metodlar
  • Defansif kopya oluşturmaktan çekinmeyin
  • Override edeyim derken hataya düşmeyin
  • Varargs kullanımı hakkında
  • Metod içerisinden null döndürmek doğru mudur ?
Genel programlama teknikleri hakkında
  • foreach mi yoksa for döngüsü mü tercih etmelisiniz ?
  • double tipinin karanlık yüzü
  • İlkel (primitive) tipler ne kadar güvenlidir ?
Java 8 ile birlikte gelen yeniliklere nasıl kullanmalı ?
  • Lambda ifadelerinin efektif kullanımı nasıl olmalıdır ?
  • Karmaşık Stream yapılarından uzak durun
  • Optional
İstisnalar (Exceptions)
  • İstisnaları istisnai durumlar için kullanın
  • Kontrollü ve kontrolsüz hatalar
  • Standart Java istisna tiplerini tercih ediniz