HemSök efter kurserJavaprogrammering - Avancerad

Javaprogrammering – Avancerad

star_fullstar_fullstar_fullstar_fullstar_fullstar_empty

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

Utbildningsformer
Remote

Längd
3 dagar

Pris
28450 kr

Målgrupp

Javakunniga programmerare, systemerare och projektledare som vill kunna bygga avancerade system som utnyttjar hela potentialen i Java.

Mål

  • Skriva effektiv Javakod
  • Förstå hur Java fungerar på djupet
  • Tillämpa designmönster i Java
  • Bygga robusta förändringsbara system
  • Skapa avancerade multitrådade applikationer
  • Använda olika Java-tekniker för hantering av XML-filer
  • Skapa distribuerade client-/serverlösningar
  • Skapa återanvändbara komponenter
  • Hantera verktyg för mätning av prestanda

Förkunskaper

Kunskaper i Java-programmering samt grundläggande kunskap inom objektorientering.

Kursinnehåll: Javaprogrammering - Avancerad

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

Andra har även varit intresserade av dessa kurser: