Opleiding : Java, geavanceerd programmeren

Java, geavanceerd programmeren




Het hoofddoel is om een overzicht te geven van de belangrijkste bibliotheken voor thread management, netwerkcommunicatie, applicatiebeheer en supervisie. De cursus presenteert ook de architectuurprincipes die ten grondslag liggen aan het samenstellen van applicaties.


INTER
INTRA
OP MAAT

Praktijkcursus ter plaatse of via klasverband op afstand

Ref. JAP
  5d - 35u00
Prijs : Neem contact met ons op




Het hoofddoel is om een overzicht te geven van de belangrijkste bibliotheken voor thread management, netwerkcommunicatie, applicatiebeheer en supervisie. De cursus presenteert ook de architectuurprincipes die ten grondslag liggen aan het samenstellen van applicaties.


Pedagogische doelstellingen
Aan het einde van de training is de deelnemer in staat om:
Gelijktijdige programmering op basis van threads implementeren
Verschillende communicatietechnieken implementeren (Socket, RMI, JMS)
Een Java-toepassing beheren via JMX, de JVM bewaken
Reflexief en annotatiegericht programmeren implementeren

Doelgroep
Ontwikkelaars, ingenieurs, projectmanagers die dicht bij de ontwikkeling staan.

Voorafgaande vereisten
Goede kennis van de taal Java. Ervaring met programmeren in Java is vereist.

Praktische modaliteiten
Praktisch werk
Deze cursus illustreert de hierboven beschreven principes door stapsgewijs een toepassing in Java te bouwen.

Opleidingsprogramma

1
Gelijktijdig programmeren

  • De concepten van multithreaded programmeren: Java's activiteitenmodel (Runnable en Thread).
  • Aanmaken/vernietigen van threads. Planning van draden.
  • Thread-synchronisatie. Vergrendelingsmethoden en instructies (gesynchroniseerd). Monitors.
  • Enkele multithreaded problemen: interblocking (karakteriseren, vermijden, voorkomen, detecteren), starvation.
  • Modeluitbreidingen geïntroduceerd in Java.5 (Callable<T>, Future<T>, ExecutorService. Nieuwe verzamelingen.
  • Het Java 7 Fork/Join-model. Java 8-uitbreidingen (CompletableFuture).
  • Diverse hulpmiddelen voor concurrentiebeheer: gedeelde/exclusieve sloten, semaforen, cyclische barrières.
Praktisch werk
Het bouwen van een applicatie met meerdere threads en beperkingen voor gelijktijdigheid.

2
Socketcommunicatie

  • Herinnering aan de belangrijkste netwerkconcepten.
  • Communicatie in verbonden modus.
  • Het client/server-model. Sequentiële server versus concurrent server. Gebruik van serialisatie.
  • Programmeren in offline modus. Het peer-to-peer model.
Praktisch werk
Programmeren van de casestudy in client-server modus (sequentieel en gelijktijdig).

3
Communicatie door methode op afstand aan te roepen : RMI

  • De algemene principes van ORB's (Object Request Brokers).
  • Het RMI-model (concepten, basisklasse-interfaces).
  • De naamgevingsservice.
  • Het client- en serverontwikkelingsproces.
  • Beperkingen voor beveiliging en het laden van klassen.
Praktisch werk
De casestudy programmeren met RMI.

4
Berichtencommunicatie: JMS

  • De algemene principes van berichtencommunicatie.
  • Het basismodel (JMS-concepten, interfaces en klassen).
  • De verschillende soorten berichten.
  • Punt-naar-punt communicatie.
  • Communicatie in publish/subscribe-modus.
Praktisch werk
De casestudy programmeren met JMS.

5
Applicatiebeheer : JMX

  • Het JMX-model (Java Management eXtension): concepten, interfaces en bijbehorende klassen.
  • MBeans en MBeanServers.
  • Een administratielaag opzetten.
  • De beheerconsole (JConsole).
  • Communicatie via adapters en connectoren.
Praktisch werk
Implementatie van een administratie-supervisielaag voor de casestudy.

6
Reflectief programmeren

  • Doelstellingen en principes.
  • Dynamische ontdekking van informatie met betrekking tot een klasse of object.
  • Dynamische instantiëring en aanroeping.
  • Reflexiviteit en annotaties in Java 5.
Praktisch werk
Programmeren van de casestudy in client-server modus (sequentieel en gelijktijdig).

7
Een overzicht van uitbreidingen van Java 5 naar...

  • Typen: generieken, opsommingen, autoboxing/autounboxing, records.
  • Lambda-expressies en functionele interfaces.
  • Java 8 streams.
  • Java 9-modules.


Data en plaats
Selecteer uw locatie of kies voor de les op afstand en kies vervolgens uw datum.
Klas op afstand