T2941
Open Source Effective Java
Det här är utbildningen som fokuserar på hur man skriver robusta och väldesignade program i Java. Du får lära dig att använda effektiva mönster för att uppnå god läsbarhet, bra prestanda och för att underlätta framtida underhåll. Utbildningen tar systematiskt upp ett antal områden inom programutveckling i Java och förklarar hur man undviker vanliga fel och presenterar kompletta exempel på korrekt programkod.
Utbildningen innehåller rikligt med exempel och övningar för varje separat delmoment. Övningarna utgår typiskt från små applikationer som behöver kompletteras/förbättras.
Utbildningenföljer riktlinjer framtagna av Joshua Bloch publicerade i boken "Effective Java".
Utbildningen täcker in nyheterna i Java 7.
Målgrupp:
Java-programmerare som vill fördjupa sin grundkompetens inom Java och kunna producera robust kod av god kvalité.
Programmerare med "gamla" kunskaper från någon tidigare version av Java som behöver uppdatering och fördjupning.
Erfarna C++ / C# programmerare som vill få en snabb introduktion till Java.
Format:
3 dagar - Hands-On
Utbildningens praktiska del baseras på kompletta körbara exempel för varje kapitel samt fristående övningar. Lösningsförslag till övningarna gås igenom och kopplas till aktuell teori.
Innehåll:
Grundläggande design av klasser och gränssnitt
1. Introduktion - Objektorientering och UML
- UML
- Klasser och Objekt
- UML implementerat i Java
2. Enhetstestning med JUnit4
- JUnit4 arkitektur
- Annotationer för tester
- Integration av JUnit4 i Eclipse
- Körning av enstaka tester
- Körning av testsviter
3. Omdefinition av metoder från klassen Object
- equals
- hashCode
- toString
- Implementation av gränssnittet Comparable
4. Klasser och Interface
- Tillgänglighet
- Inkapsling
- Publika metoder och privata attribut
- Värdeklasser - immutable classes
- Klassdesign
- Arv eller komposition
- Abstrakta basklasser eller gränssnitt
- Interface för flexibilitet vid typval
- Nästlade klasser
- Statiska klasser
- Inre klasser
- Anonyma klasser
- Lokala klasser
5. Skapa och städa undan objekt
- Statiska fabriksmetoder kontra konstruktorer
- Kedjade konstruktoranrop
- Designmönster
- Singleton
- Builder
- Prototype
- Minska behov av garbage collection
- Undvik finalizer
Användning av Java's API
6. Generics och Typsäkra samlingsklasser
- Generics
- Typparameterisering
- Arrays vs Generics
- Typsäkerhet i samlingsklasser
- Erasure garanterar bakåtkompabilitet
- Grundläggande interface
- List, Set, Queue, Map, SortedSet, SortedMap
- Grundläggande implementationsklasser
- ArrayList, HashSet, TreeSet, HashMap, TreeMap
- Iterator vs for:each-loop
- Specialiserande interface
- Deque, NavigableSet, NavigableMap
- Implementationsklasser för specialiserande interface
- ArrayDeque, PriorityQueue
- Prestanda för implementationsklasser
- Synkroniserade klasser
7. Enum och Annotationer
- Enum för konstanter
- Enum med metoder
- Samlingsklasser med Enum-baserade nycklar
- Annotationer
- Definition
- Regler för tillämpning
- Retention
- Annotationer vs namnkonventioner
8. Ramverk för loggning i Java
- Arkitektur
- Logger
- LogRecord
- Handler
- Filters
- Formatters
- Konfiguration av loggning
Generell Programmering
9. Metoder i Java
- Namngivning
- Kontroll av inparametrar
- Defensiv kopiering av returvärde
- Undvik returvärdet null
- Riktlinjer för dokumentation med JavaDoc
10. Formatering av text
- java.util.Formatter
- Metoden format i klassen String
- Parameterhantering
11. Generell programmering
- Minimera räckvidd för lokala variabler
- Använd interface som typ
- Använd for:each som läsloop
- Undvik flyttalstyper för exakta beräkningar
- Prestandaaspekter för wrapper-klasser
- Prestandaaspekter för String
- Följ kodningskonventioner
12. Undantagshantering
- Överblick undantagstyper
- Runtime exceptions
- Checked exceptions
- Chained exceptions
- Använd undantag korrekt
- Val av undantagstyp
- Använd befintliga undantagsklasser
- Stöd loggning i felmeddelande
13. Serialisering
- Serialisering i Java
- Externalizable för utökad kontroll
- Versionshantering
Fakta
Kurs
T2941
Längd
3 dagar
Pris
19.900 kr (exkl. moms)
Förkunskaper
Erfarenhet från grundläggande programmering i Java, alternativt stor erfarenhet av programmering i C++ eller C#
Kursmaterial
Allt material är på engelska. Följand bok ingår:
“Effective Java 2nd ed” Joshua Bloch
Kontakta oss
för mer information:
08 - 587 116 10 (Stockholm)
031 - 773 07 90 (Göteborg)
040-662 20 60 (Malmö)
info@informator.se