Core Java: Volume II - Advanced Features

Build on your core Java programming skills with this advanced-level training from the best instructors. Explore stream creation, filtering, mapping, and more.

(pearson-core-java-II) / ISBN : 978-1-64459-157-4
This course includes
Interactive Lessons
Gamified TestPrep
Hands-On Labs
Instructor Led (Add-on)
AI Tutor (Add-on)
268 Reviews
Get A Free Trial

About This Course

The Core Java: Volume II - Advanced Features is an expert-level programming course designed for learning advanced compilation techniques and metaprogramming concepts. Whether you are a professional Java developer or you want to transition into an advanced Java programming career, this course will equip you with the knowledge and skills required to utilize the full potential of Java. Explore a wide range of core Java advanced features with our hands-on Lab exercises and projects that follow real-world examples. Learn advanced features including stream creation, input/output, filtering, mapping, reducing, scripting, and more from experienced Java developers. If you are new to this Java programming language, you might consider learning the basics with our ‘Core Java: Fundamentals’ course.

Skills You’ll Get

  • Explore stream creation with functional programming, lambda expressions, method references, intermediate operations, terminal operations, and more
  • Understanding of file I/O, byte streams, character streams, buffered I/O, serialization, NIO (non-blocking I/O), memory-mapped files
  • Expertise in XML processing: parse, validate, & transforming XML documents using industry-standard techniques
  • Building comprehensive network applications, from simple client-server interactions to complex web services
  • Master Database programming JDBC API to connect to and interact with databases seamlessly
  • Ability to handle date & time manipulations with precision
  • Ability to use advanced techniques like scripting, compiling, and annotation processing
  • Skilled at Internationalization for creating global applications that adapt to different languages, cultures, and regions
  • Understanding of the Java Platform Module System including Modular JAR files, module descriptor, module graph, and service loading
  • Ability to secure the application from vulnerabilities with cryptography (encryption, decryption, hashing)
  • Create sophisticated user interfaces and visual experiences by using advanced swing and graphics components 
  • Ability to integrate native code into your Java applications for performance related tasks

Get the support you need. Enroll in our Instructor-Led Course.

1

Streams

  • From Iterating to Stream Operations
  • Stream Creation
  • The filter, map, and flatMap Methods
  • Extracting Substreams and Combining Streams
  • Simple Reductions
  • The Optional Type
  • Collecting Results
  • Collecting into Maps
  • Grouping and Partitioning
  • Downstream Collectors
  • Reduction Operations
  • Primitive Type Streams
  • Parallel Streams
2

Input and Output

  • Input/Output Streams
  • Reading and Writing Binary Data
  • Object Input/Output Streams and Serialization
  • Working with Files
  • Memory-Mapped Files
  • File Locking
  • Regular Expressions
3

XML

  • Introducing XML
  • The Structure of an XML Document
  • Parsing an XML Document
  • Validating XML Documents
  • Locating Information with XPath
  • Using Namespaces
  • Streaming Parsers
  • Generating XML Documents
  • XSL Transformations
4

Networking

  • Connecting to a Server
  • Implementing Servers
  • Getting Web Data
  • The HTTP Client
  • Sending E-Mail
5

Database Programming

  • The Design of JDBC
  • The Structured Query Language
  • JDBC Configuration
  • Working with JDBC Statements
  • Query Execution
  • Scrollable and Updatable Result Sets
  • Row Sets
  • Metadata
  • Transactions
  • Connection Management in Web and Enterprise Applications
6

The Date and Time API

  • The Time Line
  • Local Dates
  • Date Adjusters
  • Local Time
  • Zoned Time
  • Formatting and Parsing
  • Interoperating with Legacy Code
7

Internationalization

  • Locales
  • Number Formats
  • Date and Time
  • Collation and Normalization
  • Message Formatting
  • Text Input and Output
  • Resource Bundles
  • A Complete Example
8

Scripting, Compiling, and Annotation Processing

  • Scripting for the Java Platform
  • The Compiler API
  • Using Annotations
  • Annotation Syntax
  • Standard Annotations
  • Source-Level Annotation Processing
  • Bytecode Engineering
9

The Java Platform Module System

  • The Module Concept
  • Naming Modules
  • The Modular “Hello, World!” Program
  • Requiring Modules
  • Exporting Packages
  • Modular JARs
  • Modules and Reflective Access
  • Automatic Modules
  • The Unnamed Module
  • Command-Line Flags for Migration
  • Transitive and Static Requirements
  • Qualified Exporting and Opening
  • Service Loading
  • Tools for Working with Modules
10

Security

  • Class Loaders
  • Security Managers and Permissions
  • User Authentication
  • Digital Signatures
  • Encryption
11

Advanced Swing and Graphics

  • Tables
  • Trees
  • Advanced AWT
  • Raster Images
  • Printing
12

Native Methods

  • Calling a C Function from a Java Program
  • Numeric Parameters and Return Values
  • String Parameters
  • Accessing Fields
  • Encoding Signatures
  • Calling Java Methods
  • Accessing Array Elements
  • Handling Errors
  • Using the Invocation API
  • A Complete Example: Accessing the Windows Registry

1

Streams

  • Creating Streams using Collections
  • Using the count() Method
  • Using the flatmap() Method
  • Using the limit() Method
  • Using the sorted() Method
  • Using the findAny() Method
  • Using the collect() Method
  • Converting Stream to Map
  • Using the Collectors partitioningBy() Method
  • Using the counting() Method
  • Using the collectingAndThen() Method
  • Using the reduce() Method
  • Using the IntStream range() Method
  • Using the Longstream Method
2

Input and Output

  • Convert InputStream to String with BufferedReader
  • Reading and Writing Binary Files
  • Using the ObjectStream Class
  • Working with Files
  • Using Java Memory-Mapped Files
  • Using Java Regular Expressions
3

Networking

  • Obtaining the Internet Address
  • Using URI.getScheme()
4

Database Programming

  • Working with JDBC Statements
  • Executing a SQL Query
5

The Date and Time API

  • Get the Current Timestamp
6

Internationalization

  • Using the Locale Class
  • Using the NumberFormat Class
  • Using the MessageFormat class
7

Scripting, Compiling, and Annotation Processing

  • Listing all the Available Script Engines
  • Creating, Applying, and Accessing Annotations 
8

Security

  • Verification of Bytecode in Java
  • Using the Logger Class
  • Generating Password
  • Implementing AES Encryption
9

Advanced Swing and Graphics

  • Creating a Table
  • Viewing a Database Table
10

Native Methods

  • Using the Numeric Parameters and Return Values
  • Using String Parameters
  • Calling Java Methods
  • Accessing Array Elements
  • Handling Java Exception 

Any questions?
Check out the FAQs

Still thinking about whether to do this advanced Java course or not? Read this section for more information.

Contact Us Now

This course is perfect for those wanting to learn high-level Java programming skills to build sophisticated apps. Ideal candidates include:

  • Experienced Java developers wanting to expand their knowledge base
  • Software engineers and architects working on complex Java applications
  • Aspiring Java enthusiasts wanting to stay up-to-date with the latest features

This is an expert-level course that requires you to have a solid understanding of the core fundamentals and basic Java programming experience. You can enroll for our ‘Core Java: Fundamentals’ course  in case you don’t have the required knowledge & experience.

Yes, this course can definitely help you to prepare for some industry-recognized Java certification exams. With the right experience, knowledge, and a focused exam preparation approach, you can significantly increase your chances of success in Java certification exams.

  uCertify offers a structured learning approach that focuses more on ‘learning by doing’. Our courses are equipped with interactive learning activities like Live Labs, flashcards, quizzes and practice tests that help you to practice the theories. Additionally, it provides access to expert instructors (on-demand) who can answer your questions and provide guidance.

This advanced programming course opens a variety of interesting job opportunities including core Java developer, Java architect, big data engineer, android app developer, full-stack developer, DevOps engineer, game developer, data scientist, and machine learning engineer.

Some of the advanced topics covered in this course include functional programming, concurrency and multithreading, Input/Output, sockets & HTTP protocols on networking, database programming (JDBC queries), cryptography, advanced GUI programming, and JNI native methods.

Related Courses

All Course
scroll to top