fbpx
  • nl
  • en

Cursus Advanced Java Programmeren

Cursus Advanced Java Programmeren
Regio:
  • Modules
  • Cursus
  • Inhoud
  • Algemene informatie
    Algemeen
  • Reviews
  • 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
  • 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.

  • 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.

  • Cursusvorm

    Al onze cursussen zijn klassikale cursussen waarbij de cursisten aan de hand van een ervaren trainer met diepgaande materie kennis door de stof worden geleid. Theorie wordt steeds afgewisseld met oefeningen.

    Maatwerk

    We doen ook maatwerk  en passen dan de cursusinhoud aan op uw wensen. Op verzoek gaan we ook in op uw praktijkcases.

    Cursustijden

    De cursustijden zijn in pricipe van 9.30 tot 16.30. Maar we zijn hierin flexibel. Soms moeten mensen namelijk kinderen naar de opvang brengen of halen en komen andere tijden hun beter uit. In goed overleg kunnen we dan andere cursustijden afspreken.

    Hardware

    Wij zorgen voor de computers waarop de cursus gehouden kan worden. Op deze computer is de voor de cursus benodigde software al geinstalleerd. U hoeft geen laptop mee te nemen om aan de cursus te kunnen deelnemen. Als u liever op uw eigen laptop werkt kunt u hem desgewenst meenemen. De benodigde software wordt dan aan het begin van de cursus geinstalleerd.

    Software

    Onze cursussen worden over het algemeen gegeven met Open Source software zoals Eclipse, IntelliJ, Tomcat, Pycharm, Anaconda en Netbeans. Het digitale cursusmateriaal krijgt u na de cursus mee naar huis.

    Lunch

    De cursus is inclusief lunch die we in een restaurantje op loopafstand van het cursuslokaal gebruiken.

    Locaties

    De cursussen worden op diverse plaatsen in het land gepland. Een cursus gaat op een locatie door als er zich minimaal 3 mensen voor die locatie inschrijven. Als er inschrijvingen voor verschillende locaties zijn gaat de cursus door op onze hoofdlocatie is Houten net onder Utrecht. Een cursus op onze hoofdlocatie gaat ook door bij 2 inschrijvingen en regelmatig ook bij 1 inschrijving.  Overigens doen we ook cursussen op de locatie van de klant als men daar prijs op stelt.

  • Chris : Ministerie van Defensie
    Prima cursus. Nog meer focus op onderwerpen die voor het OCP examen belangrijk zijn is een aanrader.
    Ilas : ABN-AMRO
    Trainingen zijn echt gericht op developers: technisch en hands-on.
    Hoog tempo, veel oefeningen en prima docent.
    Groot pluspunt is ook dat je alle courseware (slides, oefeningen, uitwerkingen) en heel veel extra's meekrijgt.
    Misschien iets minder slides waardoor er net wat meer tijd is voor praktijkoefeningen.
    Ronald : ASML
    Fijn dat er een paar uur specifiek aan REST interfaces kon worden besteed.
    Er was speciaal voor ons extra materiaal en oefeningen aanwezig.
    Tip : Als iedereen de basis kent kan het begin iets sneller gedaan worden als opfrisser.
    Marcel : Ministerie van Defensie
    Prima cursus.
    Prima wijze van lesgeven.
    Guus : Sweco
    De cursus was goed in balans.
    Volgens mij zouden de oefeningen wel iets gevarieerder kunnen.
    Het leereffect is dan groter al heb ik niet een concrete suggestie.
    Reflection oefening was leuk.
    Ed : Ministerie van Defensie
    Een hele goede cursus.
    Veel naslagwerk en voorbeelden.
    Een aanrader.
    Bart : Hewlett Packard
    Mijn verwachtingen zijn meer dan vervuld.
    Ik vond de projectie met de TV een stuk beter dan de projectie met de beamer.
    Ik zal de cursus aanbevelen bij mijn werkgever.