*

Advanced Programming in Java

Advanced Programming in Java Training

AanbiederTwice IT Training
Kosten 1.895,00
Meer informatie over Twice IT Training

Overzicht

In deze cursus komen een reeks geavanceerde aspecten van Java aan de orde. Zo wordt ingegaan op de verschillende manieren waarop Java applicaties via het netwerk kunnen communiceren. In het bijzonder wordt hierbij ingegaan op sockets en Remote Method Invocations (RMI). Verder komen de geavanceerde multithreading en synchronization mogelijkheden aan bod zoals die zijn geintroduceerd in het concurrency package in Java 5. Ook wordt aandacht besteed aan de JMX API voor het locaal en op afstand managen en monitoren van Java applicaties. Verder staat reflection, waarmee gecompileerde Java classes kunnen worden geanalyseerd, op met programma en komen diverse aspecten van problemen met en het verbeteren van de Java performance aan bod. Vervolgens is de integratie en het gebruik van scripting languages binnen Java onderwerp van gesprek en komt aan de orde hoe Java applicaties via het Java Native Interface (JNI) in C en C++ geschreven code kunnen aanroepen. Voorts wordt ingegaan op het verschijnsel generics, het gebruik van generics in het Collection Framework en het zelf schrijven van generic classes. Na een behandeling annotations en van diverse aspecten van memory management staat tenslotte de interactie tussen Java en XML op het programma. Hierbij wordt zowel aandacht besteed aan de streaming API (Stax) waarbij de applicatie de controle heeft over de XML benadering als aan de statische Java API for XML Binding (JAXB) waarbij vooraf Java classes voor specifieke XML worden gegenereerd. Volledige omschrijving

Bestemd voor

Ervaren Java ontwikkelaars die geavanceerdere aspecten van Java willen leren.

Benodigde kennis

Kennis van de Java taal en syntax en ruime ervaring in basis Java programmeren zijn vereist.
Inschrijven

Beschrijving

Module : Java Networking Network Protocol Model Java Networking Package Creating and parsing an URL Connecting and Reading from URL Sockets ServerSocket Class Methods ServerSocket Steps in Creating a Server Socket ServerSocket Class Example Socket Class Methods Socket Class Datagram Sockets DatagramPacket Class Multicast Sockets Socket programming Module : Concurrency Concurrency package Why Concurrency Packages Overview of java.util.concurrent Task Scheduling Framework Executor interface Executor examples ExecutorService Callable's Future's Synchronizers Concurrent Collections Atomic Variables Locks Module : Java Management Extensions What is JMX? JMX API JMX Goal Managed Beans MBean flavors JMX Architecture Java SE 5.0 Mbeans Naming MBeans MBean Server Registering Mbeans Manipulating MBeans Notifications Notification Listeners Module : Reflection What is reflection? Reflection Classes Loading Classes Creating Objects Simple Example Methods in Class Interface Member Field Class Field Example Constructor Class Constructor Example Method Class Method Example Module : Java Performance Performance Metrics Monitoring Profiling Tuning Profiling Tips Programming Pitffalls String Class Buffered I/O Primitives versus objects Exception Handling Synchronization Module : Remote Method Invocation What is RMI? RMI Characteristics RMI Architecture Remote Interface Remote Calls RMI Control Flow Stubs and Skeletons Marshalling Serialization Code Base Annotation RMI Registry Naming Mechanism Object Activation Module : Java Scripting Scripting Languages Scripting in Java 6 Java and Ruby compared Why combine scripting and Java Scripting Scenarios Scripting Framework Scripting API Map script variables to objects Script Context Bindings interface Scripting Variables Module : Java Native Interface (JNI) Java Native interface Java to C C to Java JNI Boundary Header Files Required Parameters Java Language Writing Native Methods Declaring Native Methods JNIEnv Interface Pointer Mapping Table Accessing Java Strings JNI Functions Accessing Arrays Module : Memory Management JVM’S Internal Architecture Java Memory Management Method Area, Stacks and Heap Setting Heap and Stack Limits Dynamic Memory Management Garbage Collection Object Lifecycle Strong Object References Invisible and Unreachable Circular References Reference Objects Soft References Weak References Phantom References Finalization Module : Generics Generics explained Syntax Generic Class Need for Generics Benefits of Generics Generic Characteristics Type Erasure Generic Class Examples Generics and Subtyping Wildcards Bounded WildCard Raw Types Type Unsafe Raw Types Generic Methods Collection Framework Module : Annotations What are annotations? Pre-Java 5 annotations Why annotations Defining annotation types Using annotations Kinds of annotations Marker annotations Single value annotations Normal annotations Meta-Annotations Module : Stax Streaming API for XML Building a Dom Tree SAX Callbacks Pull versus Push Parsing Advantages of Pull Parsing Why StaX? Iterator API XMLEventReader XMLEventWriter Cursor API XMLStreamReader XMLStreamWriter Choosing considerations Module : Java API XML Binding (JAXB) XML Processing Options What Is JAXB? Why JAXB? JAXB versus DOM JAXB Design Goals Building JAXB Applications JAXB Architecture XML Data Binding Facility Two Phases of Binding Process The Binding Life Cycle Binding Rules Roles of the Binding Compiler Default Data Type Binding