Overview
This comprehensive course covers essential and advanced concepts in Java programming, using Java SE 21. It is designed to build a solid foundation in Java fundamentals, object-oriented programming, data handling, multithreading, and cloud-based Java applications. Through interactive lectures, hands-on labs, and exercises, participants will master the skills necessary to develop, maintain, and deploy Java applications effectively.
This is an accelerated course aimed at experienced programmers. Learners who are new to programming should consider sitting a combination of OCJSE21PI 'Java SE 21: Programming I' and OCJSE21PII 'Java SE 21: Programming II' instead.
Prerequisites
It is recommended that you have previously studied programming languages, or have an existing knowledge of Java Programming.
Delegates will learn how to
By the end of this course, participants will be able to:
- Understand and implement Java fundamentals and syntax.
- Apply object-oriented principles using Java.
- Develop, debug, and maintain Java applications.
- Handle data with Java APIs, including dates, times, and text.
- Work with multithreading, concurrency, and asynchronous processing.
- Utilise Java for database connectivity and security applications.
- Implement and deploy Java applications in cloud environments.
Outline
Module One: Introduction to Java
- Overview of Java programming and its ecosystem
- Object-oriented principles: classes, objects, inheritance, encapsulation
- Working with Java APIs and keywords
- Understanding Java syntax, naming conventions, and compiling/executing programs
Module Two: Primitive types, operators, and flow control statements
- Java primitives, operators, and flow control structures
- Using JShell (REPL tool) for interactive testing
- Control flow with if/else, switch, and ternary operators
Module Three: Text, date, time, and numeric objects
- String manipulation, indexing, and text blocks
- Handling dates and times with the Local Date-Time API
- Using BigDecimal for precise numeric operations
Module Four: Classes and objects
- Introduction to UML and modelling classes
- Designing and creating classes and objects
- Using IntelliJ IDE for Java development
Module Five: Improved class design
- Method overloading, constructors, and encapsulation
- Immutable classes and the use of enumerations
- Memory allocation and parameter passing in Java
Module Six: Implement inheritance and use records
- Inheritance and polymorphism basics
- Abstract classes, final classes, and sealed classes
- Understanding Java records and pattern matching
Module Seven: Interfaces and generics
- Implementing interfaces and generics for type safety
- Working with functional interfaces and lambda expressions
- Examples with Comparable, Comparator, and Cloneable interfaces
Module Eight: Arrays and loops
- Declaring, initializing, and managing arrays
- Iterating over arrays with various loop structures
- Advanced loop control: nested loops, break, and continue
Module Nine: Collections
- Java Collection API: Lists, Sets, Deques, and Maps
- Managing collection contents and concurrent collections
- Introduction to legacy collection classes
Module Ten: Nested classes and lambda expressions
- Types of nested classes: static, inner, local, and anonymous
- Lambda expressions and method references
- Default and static methods in functional interfaces
Module Eleven: Java Streams API
- Stream API and functional processing with streams
- Filtering, mapping, and reducing data in streams
- Parallel stream processing and performance considerations
Module Twelve: Exception handling, logging, and debugging
- Java exception handling and custom exceptions
- Using the Java Logging API for error tracking
- Debugging techniques and using assertions
Module Thirteen: Java IO API
- Reading and writing binary and character data
- Working with files and file systems
- Serialization and handling sensitive information
Module Fourteen: Java concurrency and multithreading
- Concurrency fundamentals and thread management
- Working with the Executor Service for concurrent tasks
- Locking mechanisms and ensuring thread safety
Module Fifteen: Modules and deployment
- Modular programming in Java
- Compiling, packaging, and deploying Java applications
- Creating custom runtime images for Java applications
Module Sixteen: Advanced topics and specialisations
- Java database connectivity (JDBC) and SQL integration
- Java security essentials and best practices
- Patterns for advanced generics and cloud deployment with Oracle
Frequently asked questions
How can I create an account on myQA.com?
There are a number of ways to create an account. If you are a self-funder, simply select the "Create account" option on the login page.
If you have been booked onto a course by your company, you will receive a confirmation email. From this email, select "Sign into myQA" and you will be taken to the "Create account" page. Complete all of the details and select "Create account".
If you have the booking number you can also go here and select the "I have a booking number" option. Enter the booking reference and your surname. If the details match, you will be taken to the "Create account" page from where you can enter your details and confirm your account.
Find more answers to frequently asked questions in our FAQs: Bookings & Cancellations page.
How do QA’s virtual classroom courses work?
Our virtual classroom courses allow you to access award-winning classroom training, without leaving your home or office. Our learning professionals are specially trained on how to interact with remote attendees and our remote labs ensure all participants can take part in hands-on exercises wherever they are.
We use the WebEx video conferencing platform by Cisco. Before you book, check that you meet the WebEx system requirements and run a test meeting to ensure the software is compatible with your firewall settings. If it doesn’t work, try adjusting your settings or contact your IT department about permitting the website.
How do QA’s online courses work?
QA online courses, also commonly known as distance learning courses or elearning courses, take the form of interactive software designed for individual learning, but you will also have access to full support from our subject-matter experts for the duration of your course. When you book a QA online learning course you will receive immediate access to it through our e-learning platform and you can start to learn straight away, from any compatible device. Access to the online learning platform is valid for one year from the booking date.
All courses are built around case studies and presented in an engaging format, which includes storytelling elements, video, audio and humour. Every case study is supported by sample documents and a collection of Knowledge Nuggets that provide more in-depth detail on the wider processes.
When will I receive my joining instructions?
Joining instructions for QA courses are sent two weeks prior to the course start date, or immediately if the booking is confirmed within this timeframe. For course bookings made via QA but delivered by a third-party supplier, joining instructions are sent to attendees prior to the training course, but timescales vary depending on each supplier’s terms. Read more FAQs.
When will I receive my certificate?
Certificates of Achievement are issued at the end the course, either as a hard copy or via email. Read more here.