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.

Read more +

Prerequisites

It is recommended that you have previously studied programming languages, or have an existing knowledge of Java Programming.

Read more +

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.
Read more +

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
Read more +

Why choose QA

Special Notices

Please note: In order to provision you with your courseware and lab access for this course QA must share several items of basic personal information with our partner (usually your full name and email address). For more information on this please visit our QA Partner data sharing page. If you have any questions or concerns please contact your QA account manager.

Important Note: Your official Oracle digital course material now includes an additional 5 hours of content for you to consume after the course to help embed the learning. Your ELS will be accessible for 90 days from purchase.

Need to know

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 (more details in the link below) 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.

Let's talk

By submitting this form, you agree to QA processing your data in accordance with our Privacy Policy and Terms & Conditions. You can unsubscribe at any time by clicking the link in our emails or contacting us directly.