fbpx
Code: JAV500
Duur in dagen: 4
Download: Open Rooster.pdf
Download: Infosheet
€ 2150

Cursus Advanced Java Programmeren

03-06 t/m 06-06-2019
22-07 t/m 25-07-2019
23-09 t/m 26-09-2019
25-11 t/m 28-11-2019
Uw startdatum
Regio:

Doelgroep Cursus Advanced Java Programmeren

Cursus Advanced Java ProgrammerenDe cursus Advanced Java Programmeren is bestemd voor ervaren Java developers die diepgaandere kennis van Java willen opdoen.

Voorkennis Cursus Advanced Java Programmeren

Om aan deze cursus te kunnen deelnemen is kennis van Java en ervaring met programmeren in Java vereist.

Uitvoering Training Advanced Java Programmeren

De theorie wordt behandeld aan de hand van presentaties en wordt afgewisseld met oefeningen. Demo’s dienen ter verheldering van de theorie. De cursustijden zijn van 9.30 tot 16.30.

Officieel Certificaat Cursus Advanced Java Programmeren

De deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat Advanced Java Programmeren.

Inhoud Cursus Advanced Java Programmeren

In de cursus Advanced Java Programmeren komen een reeks geavanceerde aspecten van Java aan de orde. De cursus behandelt de onderwerpen die gevraagd worden op het Oracle Certified Java Professional of OCP examen en vormt een goede voorbereiding om dit examen te behalen. In de eerste plaats wordt aandacht besteed aan aspecten van Advanced Class Design zoals het implementeren van inheritance en composition, het gebruik van polymorphisme, interfaces, inner en anonymous classes en het singleton pattern. Vervolgens wordt ingegaan op multithreaded applicaties en de synchronisatie tussen threads bij het benaderen van shared data. Bij de bespreking van het concurrency package komen daarbij geavanceerde synchronisatie mechanismes zoals cylic barriers en countdown latches aan de orde. Ook de in recente Java versies geintroduceerde functionele taal constructies komen aan bod bij de behandeling van lambda’s en functional interfaces. Vervolgens worden generics besproken waarmee classes en methods kunnen worden geparametriseerd, strong typing wordt opgelegd en de kans op runtime errors wordt beperkt. Generics worden meestal gebruikt in het Collection Framework en de belangrijkste container classes daaruit worden besproken. Vervolgens is er aandacht voor de Stream API waarmee transformaties op data collections kunnen worden uitgevoerd door een combinatie van elkaar opvolgende simpelere methoden waaronder map en reduce. Ook de diverse mogelijkheden bij de afhandeling van errors en exceptions staat op het programma en er wordt aandacht besteed aan file I/O en new I/O bij het benaderen van files an directories. Ook wordt database access met Java Database Connectivity (JDBC) behandeld waarbij queries, prepared statements en transactions aan de orde worden gesteld. Tenslotte staat optioneel, als de tijd het toelaat, reflection op het programma, waarmee gecompileerde Java classes softwarematig kunnen worden geanalyseerd, en komen optioneel diverse aspecten het verbeteren van de Java performance aan bod.

Module 1 : Advanced Class Design

Module 2 : Multiple Threads

Module 3 : Concurrency

Encapsulation and Inheritance
Implementing Composition
Polymorphism
Singleton Patterns
Immutable Classes
Abstract Classes
Final Classes
Inner Classes
Static Inner Classes
Anonymous Inner Classes
Autonomous Classes
Extending Interfaces
Enumerated Types
Implementing hashCode and equals
Java Thread Model
Extending Thread Class
Implementing Runnable
Daemon Threads
Thread Alive States
Thread Class Methods
Sleeping and Yielding Control
Using join and interrupt
Concurrent Method Activation
Synchronized Statement
Locking and Statics
Deadlock
Condition Synchronization
Using wait and notify
Concurrency Package
Task Scheduling Framework
Executor Interface
ExecutorService
Callables and Futures
ScheduledExecutorService
Synchronizers
Semaphores and Exchanger
CountdownLatch and CyclicBarrier
Concurrent Collections
BlockingQueue Interface
Lock Interface
Reentrant Locks
Atomic Variables

Module 4 : Lambda’s and Functional Interfaces

Module 5 : Generics and Collections

Module 6 : Streams

Passing Functionality
Lambda Expressions
Lambda Syntax
Lambda Variable Access
Lambda Scoping Rules
Functional Interfaces
Predicate Interface
Consumer Interface
Supplier Interface
Function Interface
UnaryOperator Interface
BinaryOperator Interface
Method References
@FunctionalInterface annotation
User Defined Functional Interfaces
What are Generics?
Type Erasure and Raw Types
Generics and Subtyping
Bounded Type Parameters
Wildcards
Generics in Collections
ArrayList and LinkedList
TreeSet and Hash Set
HashMap and TreeMap
ArrayDeque objects
Comparable and Comparator Interface
Collections Streams and Filters
Iteration using forEach
Filtering using Lambda’s
Stream Interface and Stream Pipeline
What are Streams?
Lazy Evaluation and Parallelization
Core Stream Methods
forEach, Map and Filter
findFirst and findAny
toArray and collect
Optional Class
Limiting Stream Size
allMatch and anyMatch
Number Specialized Streams
Reduction Operations
Parallel and Infinite Streams
collect Method
Grouping with Collectors class
Using flatMap Method

Module 7 : Exception Handling

Module 8 : Java IO and NIO

Module 9 : Database Access met JDBC

Errors and Exceptions
Exception Handling Syntax
Checked and Unchecked Exceptions
Exception Hierarchy
Multiple Catch Clauses
finally Clause
try with Resources
Auto Closeable Resources
Common Exceptions
Throwing Exceptions
User Defined Exceptions
Chained Exceptions and Stack Traces
Rethrowing Exceptions
Assertions
Standard I/O Streams
Stream Types
Reading and Writing Files
Buffered Streams
Data Conversion Streams
Serialization
Object Streams
NIO and Asynchronous I/O Processing
Working with Buffers
IO Channels
Stream API with NIO.2
Using Path Class
Directory Traversing
PathMatcher class
JDBC Architecture
JDBC Drivers and URL’s
Database Connections
Executing Statements
Querying Databases
Update Statements
Retrieving Results
Handling Errors
Prepared Statements
Database Metadata
Transactions
Commit and Rollback
Rowset Interfaces
Using RowsetProvider

Module 10 : Localization

Optional Module 11 : Reflection

Optional Module 12 : Performance

LocalDate Class
LocalTime and LocalDateTime
Instant and Period
Duration and TemporalUnit
Defining Properties
Reading Property Files
Creating Resource Bundles
Formatting Date and Times
Locale Class
Localizing Dates
Localizing Numbers
Localizing Currencies
What is Reflection?
Reflection Classes
Class Loading
The Class Class
Creating Objects
Reflection Methods in Class
Field Class
Constructor Class
Method Class
AccessibleObject Class
Dynamic Proxies
Invocation Handler
Influences on Performance
JIT Compilation and Hotspot JVM
Garbage Collection
String Types
Buffered and New I/O
Synchronization and Concurrency
Primitives versus Wrappers
Collections
Exception Handling
Serialization
Native methods
Lazy Loading and Object Reuse

Kantooradres:
SpiralTrain BV

Gebouw "De Sijnsmeester"
Standerdmolen 8 – 1.11
3995 AA Houten

IP Computer Training Centrum
Diemerhof 32-36
1112 XN Diemen

020 7600027
http://www.ip-computer-training-centrum.nl

Compu Act Opleidingen
Slinge 303
3085 ER Rotterdam

023 - 551 3409
www.computertraining.nl

Trainspot
Kleine Singel 33
3572 CG Utrecht

030 - 737 05 81
http://www.trainspot.nl

IP Computer Training Centrum
Leenderweg 292
5644 AE Eindhoven

040 - 256 65 20
http://www.ip-computer-training-centrum.nl