EFFECTIVE JAVA EĞİTİMİ
Eğitim Hakkında
Bu eğitim Java programlama dilinin etkin kullanımı hakkında ayrıntılı bilgi sağlar. Eğitim sırasında, Java’da nasıl sürdürülebilir kod yazacağınızı öğrenebilecek ve gerçek projelerde karşılaşabileceğiniz birçok uygulamalı deneyime sahip olacaksınız. Eğitim kursu Joshua Bloch’s Effective Java Third Edition kitabı kullanılarak gerçekleştirilecek.
Eğitim Süresi
18 Saat - Online Eğitim
Eğitim Tarihi
Firmanın talebine göre eğitim tarihleri ve planlaması karşılıklı olarak yapılacaktır.
Eğitim İçeriği
-
Creating and Destroying Objects
-
Consider a builder when faced with many constructor parameters
-
Enforce the singleton property with a private constructor or an enum type
-
Enforce non-insatiability with a private constructor
-
Prefer dependency injection to hardwiring resources
-
Avoid creating unnecessary objects
-
Eliminate obsolete object references
-
Avoid finalizers and cleaners
-
Prefer try-with-resources to try-finally
-
-
Methods Common to All Objects
-
Obey the general contract when overriding equals
-
Always override hashCode when you override equals
-
Always override toString
-
Consider implementing Comparable
-
-
Classes and Interfaces
-
Minimize the accessibility of classes and members
-
In public classes, use accessor methods, not public fields
-
Minimize mutability
-
Favor composition over inheritance
-
Prefer interfaces to abstract classes
-
Prefer class hierarchies to tagged classes
-
Favor static member classes over nonstatic
-
Limit source files to a single top-level class
-
-
Generics
-
Don’t use raw types
-
Eliminate unchecked warnings
-
Prefer lists to arrays
-
Favor generic types
-
Favor generic methods
-
Use bounded wildcards to increase API flexibility
-
Combine generics and varargs judiciously
-
Consider typesafe heterogeneous containers
-
-
Enums ve Annotations
-
Use enums instead of int constants
-
Use instance fields instead of ordinals
-
Use EnumSet instead of bit fields
-
Use EnumMap instead of ordinal indexing
-
Emulate extensible enums with interfaces
-
Prefer annotations to naming patterns
-
Consistently use the Override annotation
-
-
Lambdas and Streams
-
Prefer lambdas to anonymous classes
-
Prefer method references to lambdas
-
Use streams judiciously
-
Prefer Collection to Stream as a return type
-
Use caution when making streams parallel
-
-
Methods
-
Make defensive copies when needed
-
Use overloading judiciously
-
Use varargs judiciously
-
Return empty collections or arrays, not nulls
-
Return optionals judiciously
-
-
General Programming
-
Prefer for-each loops to traditional for loops
-
Know and use the libraries
-
Avoid float and double if exact answers are required
-
-
Exceptions
-
Use exceptions only for exceptional conditions
-
Use checked exceptions for recoverable conditions
-
Runtime exceptions for programming errors
-
Avoid unnecessary use of checked exceptions
-
Favor the use of standard exceptions
-
Throw exceptions appropriate to the abstraction
-
Don’t ignore exceptions
-
-
Concurrency
-
Synchronize access to shared mutable data
-
Avoid excessive synchronization
-
Prefer executors, tasks, and streams to threads
-
Prefer concurrency utilities to wait and notify
-
Don’t depend on the thread scheduler
-
-
Serialization
-
Prefer alternatives to Java serialization
-
Consider using a custom serialized form
-
For instance control, prefer enum types to readResolve
-
Consider serialization
-
Eğitim Faydaları
-
Esnek ve yeniden kullanılabilir bir uygulama geliştirme
-
Sistem mimarisini tanımlamaya yardımcı olan çözümleri sunma
-
Yazılım mühendisliği deneyimlerini yakalama
-
Bir uygulamanın tasarımına şeffaflık sağlama
Ön gereksimler
Bu eğitim herhangi bir ön gereksinim gerektirmez.
Hedef Kitle
-
Yazılım Geliştirciler
Kullanılacak Yazılımlar
-
Java IDE seçenekleri
-
IntelliJ
-
Eclipse
-
Netbeans
Sertifika
Katılımcılara eğitimi tamamladıklarından eğitim katılım sertifikası verilecektir.
Eğitmen
Altuğ Bilgin Altıntaş