Course Duration
5 Days

Oracle
Authorized Training

IT

Course cost:
£3,449.00

IT Certification Overview

This course builds on the foundational skills taught in Java SE: Programming I, providing additional key skills for Java programmers. It covers secure coding, modular programming, database access, concurrency, multithreading, annotations, advanced generics, Java applications on Oracle Cloud, and other advanced Java topics using the current main Java version.

Newto Training Reviews

What Our Happy Alumni Say About Us

Prerequisites

Participants should have attended or have knowledge equivalent to: Java SE 25: Programming I (OCJSE25PI)

Target audience

This course is designed for:

  • Data Scientists
  • Developers
  • Implementers

Learning Objectives

By the end of this course, learners will be able to:

  • Create Java applications that leverage object-oriented features such as encapsulation, inheritance, and polymorphism
  • Execute a Java application from the command line
  • Create applications using the Java Collections framework
  • Search and filter collections using Lambda Expressions
  • Implement error-handling techniques using exception handling
  • Implement input/output (I/O) functionality to read from and write to data and text files
  • Manipulate files, directories, and file systems using the JDK NIO.2 specification
  • Perform multiple operations on database tables using JDBC and JPA technology
  • Use Lambda Expression concurrency features
  • Apply modular programming practices and services to applications
  • Create high-performing multi-threaded applications

Java SE 25: Programming I Course Content

Java IO API

  • Java input-output principles
  • Java input-output API
  • Reading and writing binary data
  • Basic binary data reading and writing
  • Reading and writing character data
  • Basic character data reading and writing
  • Connecting streams
  • Standard input and output
  • Using console
  • Understand serialization
  • Serializable object graph
  • Object serialization
  • Serialization of sensitive information
  • Customise serialization process
  • Serialization and versioning
  • Working with filesystems
  • Constructing filesystem paths
  • Navigating the filesystem
  • Analyse path properties
  • Set path properties
  • Create paths
  • Create temporary files and folders
  • Copy and move paths
  • Delete paths
  • Handle zip archives
  • Represent zip archive as a filesystem
  • Access HTTP resources

Java Concurrency and Multithreading

  • Java concurrency concepts
  • Implement threads
  • Thread life cycle
  • Interrupt thread
  • Block thread
  • Make thread wait until notified
  • Common thread properties
  • Create executor service objects
  • Manage executor service life cycle
  • Implementing executor service tasks
  • Locking problems
  • Writing thread-safe code
  • Ensure consistent access to shared data
  • Nonblocking atomic actions
  • Ensure exclusive object access using intrinsic locks
  • Intrinsic lock automation
  • Nonblocking concurrency automation
  • Alternative locking mechanisms
  • CPU versus IO bound concurrent tasks
  • Virtual threads API
  • Virtual thread operations
  • Scoped values
  • Scoped values operations

Modules and Deployment

  • Compile, package, and execute nonmodular Java applications
  • Nonmodular Java characteristics
  • What is a module?
  • Java modules
  • Java module categories
  • Module import declarations
  • Define module dependencies
  • Export module content
  • Module example
  • Open module content
  • Open an entire module
  • Produce and consume services
  • Services example
  • Multi-release module archives
  • Compile and package a module
  • Execute a modularised application
  • Migrating legacy Java applications using automatic module
  • Create custom runtime image
  • Execute runtime image
  • Optimise a custom runtime image
  • Check dependencies

Annotations

  • Introduction to annotations
  • Design annotations
  • Apply annotations
  • Dynamically discover annotations
  • Document the use of annotations
  • Annotations that validate design
  • Deprecated annotation
  • Suppress compiler warnings
  • Varargs and heap pollution

Java Database Connectivity

  • Java Database Connectivity (JDBC)
  • JDBC API structure
  • Manage database connections
  • Create and execute basic SQL statements
  • Create and execute prepared SQL statements
  • Create and execute callable SQL statements
  • Process query results
  • Control transactions
  • Discover metadata
  • Customise ResultSet
  • Set up ResultSet type
  • Set up ResultSet concurrency and holdability

Java Security

  • Security as nonfunctional requirement
  • Security threats
  • Denial of Service (DoS) attack
  • Define security policies
  • Changes in the security API
  • Secure file system and I/O operations
  • Best practices for protecting your code
  • Erroneous value guards
  • Protect sensitive data
  • Prevent SQL injections
  • Prevent JavaScript injections
  • Prevent XML injections
  • Discover and document security issues

Advanced Generics

  • Compiler erases information about generics
  • Generic and raw type compatibility
  • Generics and type hierarchy
  • Wildcard generics
  • Upper bound wildcard
  • Lower bound wildcard
  • Collections and generics best practices

Java Applications on Oracle Cloud

  • Cloud application requirements
  • Cloud application runtime infrastructure
  • Cloud Java application servers
  • Package and deploy cloud application
  • Optimise deployment with GraalVM
  • HTTP protocol basics
  • REST service conventions and resources
  • Configure and launch REST service application using Helidon SE

Miscellaneous Java Topics

  • Builder design pattern
  • Singleton design pattern
  • Java regular expression API
  • Regular expressions: character classes
  • Regular expressions: quantifiers
  • Regular expressions: boundaries
  • File IO watch service
  • Class-file API
  • Foreign function and memory API
  • Allocating and deallocating memory for native data
  • Representing native functions
  • Calling a native function

Exams and assessments

This course will help learners prepare for the Java SE 25 Developer Professional exam which is available separately.

Hands-on learning

Learners practice the skills learned in each lesson through hands-on labs.

Upcoming Dates

Dates and locations are available on request. Please contact us for the latest schedule.

Advance Your Career with Java SE 25: Programming I

Gain the skills you need to succeed. Enrol in Java SE 25: Programming I with Newto Training today.