"Our tailored course provided a well rounded introduction and also covered some intermediate level topics that we needed to know. Clive gave us some best practice ideas and tips to take away. Fast paced but the instructor never lost any of the delegates"
Brian Leek, Data Analyst, May 2022
· Java collections Framework
· Lists, Sets and Maps
· Traversing Collections
· Iterable
· Utility methods for collections
· Defining Generic Types
· Writing Generic Methods
· Type wildcards
· Bounded type wildcards
· Bounded type parameters
· Multiple bounds
· Covariance and Contravariance
· Creating Lambda functions
· Functional Interfaces
· What is are Streams
· Introduction to the Streams API
· Processing and manipulating data with Streams
· The int Enum pattern
· The Java enum
· Iteration and switching
· Adding data and methods
· Constant specific class bodies
· Threads and Runnables
· Creating Threads
· Thread termination and cancellation
· Thread Scheduling
· Thread Groups
· Threads and Exceptions
· Why worry about synchronization?
· Basic monitor functionality
· Memory model and data visibility
· Lock objects
· Atomic data types
· Synchronizing execution
· Producer consumer problem and solutions
· Condition objects
· Semaphores
· Latches
· Cyclic barriers
· The java.util.concurrent library
· Concurrent collections
· Queues and Synchronization
· Task Management
· Executor Framework and Thread Pools
· Tasks, Callables, and Future Objects
· The Completion Service
· Inside Java classes
· Class file structure
· Reflection
· Accessing Fields, Methods and Constructors
· Reflective object creation
· Reflective method invocation
· Security
· Source code metadata
· Java Annotations
· Built in annotations
· Defining annotation types
· Annotating an annotation type
· Annotation processing
· Creating a ServerSocket
· Creating a Client
· Working with streams
· Strategies for Creating multithreaded servers
"Our tailored course provided a well rounded introduction and also covered some intermediate level topics that we needed to know. Clive gave us some best practice ideas and tips to take away. Fast paced but the instructor never lost any of the delegates"
Brian Leek, Data Analyst, May 2022
“JBI did a great job of customizing their syllabus to suit our business needs and also bringing our team up to speed on the current best practices. Our teams varied widely in terms of experience and the Instructor handled this particularly well - very impressive”
Brian F, Team Lead, RBS, Data Analysis Course, 20 April 2022
Sign up for the JBI Training newsletter to receive technology tips directly from our instructors - Analytics, AI, ML, DevOps, Web, Backend and Security.
This course delves into advanced Java programming, focusing on generics, collections, and the use of wildcards and bounds. You'll explore lambda expressions and the Streams API to write cleaner, more efficient code. A strong emphasis is placed on multithreading and concurrency, equipping you to build robust, thread-safe applications. You'll work with Java’s threading libraries and understand how the platform handles parallel execution.
The course also covers the structure of class files, using reflection and annotations to interact with them dynamically. Finally, you'll gain hands-on experience building both single-threaded and multithreaded client-server applications using sockets.
CONTACT
+44 (0)20 8446 7555
Copyright © 2025 JBI Training. All Rights Reserved.
JB International Training Ltd - Company Registration Number: 08458005
Registered Address: Wohl Enterprise Hub, 2B Redbourne Avenue, London, N3 2BS
Modern Slavery Statement & Corporate Policies | Terms & Conditions | Contact Us
POPULAR
AI training courses CoPilot training course
Threat modelling training course Python for data analysts training course
Power BI training course Machine Learning training course
Spring Boot Microservices training course Terraform training course