Kursbeskrivning
Det här utbildningen är för dig som vill gå vidare och lära dig avancerad Javaprogrammering! Du får lära dig hur man tillämpar beprövade DesignPatterns, olika tekniker för att hantera XML-filer, såväl för konfiguration som för lagring av data. Du får lära dig hur man skriver avancerade multitrådade applikationer med hjälp av såväl traditionella trådklasser som med ramverket Executor Framework.
Du kommer att förstå den underliggande tekniken för nätverks-programmering och hur man bygger distribuerade RMI-applikationer. Du får lära dig att skapa återanvändbara komponenter; JavaBeans. Slutligen ingår i kursen metoder för analys av existerande klasser, optimering av befintlig kod och prestandamätning för Javaapplikationer.
Övningar
Tillämpningar av olika Design Patterns
Implementera multitrådade applikationer med traditionell teknik
Använda Executor Framework för att separera trådjobb från exekvering
Tillämpa ramverket Fork/Join för att effektivt utnyttja fler-kärninga CPUer
Använda DOM-teknik för konfiguration av en applikation
Använda StAX-teknik för att läsa/skriva från/till XML
Använda Sockets för att kommunicera mellan Client/Server
Skapa distribuerade tjänster med RMI
Skapa icke-visuell och visuell komponent med JavaBeans
Utföra prestandamätning på en Java-applikation
1. Design Patterns
Avancerad objektorientering med Java och UML
Skapande mönster
Strukturella mönster
Beteendemönster
Tillämpning av designmönster i Javas standardbibliotek
2. Trådprogrammering med Java
Gränssnittet Runnable och klassen Thread
Synkronisering: synchronized, wait, notify, notifyAll
Teknik för trådsäker kod
Primitiverna bakom trådhanteringen
Regler för variabler och låsningar
Designmönster Producer-Consumer
3. Executor Framework
Ramverk java.util.concurrent
Executor och ExecutorService
Gränssnittet Callable
Gränssnitten Future och FutureTask
Specialdesignade klasser: Semaphore, CountDownLatch, CyclicBarrier, Exchanger
Trådsäkra samlingsklasser: BlockingQueue, DelayQueue ConcurrentHashMap
Lås: Lock, ReadWriteLock, ReentrantLock, Condition
Atomära variabler
Fork/Join ramverk
4. Java och XML
XML: Textbaserad standard för data
JAXP, JAXB: Javastöd för hantering av XML
Validering av XML-dokument med DTD, XML-Schema
Tekniker för parsning av XML i Java: SAX, DOM
Manipulering av XML-baserad data i Java
XML för konfiguration och processering av Java-applikationer
Tekniker för läsning och skrivning av XML med StAX
5. New I/O
Package java.nio
Prestandaförbättringar jämfört med java.io
Klasser för effektiv tvåvägskommuniktion
Channels
Buffers
Direktöverföring mellan strömmar via underliggande OS
NIO2 Åtkomst av underliggande Filsystem
6. Nätverksprogrammering med Java
ServerSocket och Socket
Sätta upp en server
Ansluta till server från klient
Tvåvägskommunikation över Socket-förbindelse
ServerSocketChannel och SocketChannel för icke-blockerande kommunikation
7. Distribuerade tjänster
Distribuerade tjänster
Register för åtkomst av tjänster
RMI - Remote Method Invocation
Implementation av RMI-tjänst
Registrering av RMI-objekt i rmiregistry på server
Anrop av RMI-objekt via namntjänst
CORBA
WebServices
8. Java Deep Dive
Reflection
ClassLoaders
Security
9. JavaBeans
Mjukvarukomponenter
JavaBeans definition och egenskaper
Attribut: Normal, Indexed, Bound, Constrained
PropertyChangeSupport / VetoableChangeSupport
Callback-rutiner för händelselyssnare
Serialisering till XML-format
JavaBeans och JSP
Enterprise Java Beans (EJB)
10. Prestanda
Optimering
Javas exekveringsomgivning
Javas minnesallokering
Kompilatorteknik
JVM parametrar
Automatisk minnesåtervinning
Garbage collection: mark-and-sweep vs generational
JMX - verktyg för analys av prestanda
Säkerhetsaspekter för Javaapplikationer
Kommande kursstarter
Intresseanmälan
Informator är utbildningsföretaget som stärker din konkurrenskraft genom att underhålla, uppdatera och tillföra relevant kunskap inom IT och management där och när du behöver det. Vi har vuxit tillsammans med svensk mjukvaruindustris ledande företag och utbildat utvecklare, tekniker, projektledare och chefer sedan...