0% found this document useful (0 votes)
3 views7 pages

Java Advanced

The document outlines a Java Advanced course covering topics such as Java Generics, Annotations, Reflection, Serialization, Multi-Threading, and features from Java 8, 11, and 17. It includes prerequisites, audience details, hardware and software requirements, and a day-wise breakdown of course content and structure. The course aims to equip Java developers with advanced skills through hands-on sessions and assessments.

Uploaded by

jeganrock500
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views7 pages

Java Advanced

The document outlines a Java Advanced course covering topics such as Java Generics, Annotations, Reflection, Serialization, Multi-Threading, and features from Java 8, 11, and 17. It includes prerequisites, audience details, hardware and software requirements, and a day-wise breakdown of course content and structure. The course aims to equip Java developers with advanced skills through hands-on sessions and assessments.

Uploaded by

jeganrock500
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

Java Advanced

<Java Advanced>

Document History

Ver. Rel. Release Prepared. Remarks/Revi


Reviewed By Approved By
No. Date By sion Details

Jamuna Shree Ganesh Babu


18-Sep-24 Saravana Yaliyur Ramu Gunasekaran
V 0.1
Kumar (MS/ECA1-XC) (MS/ECX4-TM-XC)

Page 2 of 7
<Java Advanced>

Course Title: Java Basics

1.Course Summary:
This course covers following topics.
• Java Generics, Annotations and Reflection
• Serialization, Java NIO, Multi Threading
• Java 8, Java 11 and Java 17 Features
• JUnit, JNI and JNA

2. Pre-Requisite

• Good knowledge on Java Programming


• Familiarity on Java IDE (IntelliJ / Eclipse)

3. Audience
• Java Developers

4. Hardware & Network Requirements


• Laptop / Desktop with 8 GB RAM and 50 GB Storage
• Open internet connection with good speed

5. Software Requirements
• Windows / Linux / Mac OS
• Java 17 and above
• Java IDE – Intellij IDEA or Eclipse latest version
• Git Client latest version
• MySQL Server and Workbench latest version

6.Learning Outcomes:
• Understand Java Generics, Annotations and Reflection
• How to work with Serialization and Java NIO
• How to build multi threaded application using Multi Threading concepts
• Understand on New Features introduced as part of Java 8, 11 and 17 releases
• How to unit test Java application using JUnit
• How to integrate with native libraries from Java app using JNI and JNA

Page 3 of 7
<Java Advanced>

7.Course Content (day wise):

Day 1

Module 1: Java Generics

• Quick recap on Java Basics


• Generics Overview
• Benefits and Usecases
• Generic Method
• Type Inference
• Bounded Type Parameters
• Generic Class
• Type Erasure
• PECS (Producer Extends Consumer Super)
• Lower and Upper Bounds

Module 2: Java Annotations

• Annotations Overview
• Benefits and Usecases
• Standard Annotations
• Meta Annotations
• Custom Annotations

Module 3: Java Reflection

• Reflection Overview
• Accessing classes, methods, and fields at runtime
• Using reflection for debugging and testing

Day 2

Module 4: Serialisation and Java NIO

• Serialization Overview
• Object InputStream vs Output Stream
• Transient
• Serialize and De-serialize Java objects
• Intro to NIO
• NIO Benefits and Usecases
• Reading and Writing data with File using NIO

Page 4 of 7
<Java Advanced>

Day 3

Module 5: Multi-Threading

• Threading Concepts
• Synchronizing Threads
• Inter communication of Threads
• Critical Factor in thread Deadlock
• Thread Executor framework
• Intro to Fork and Join Model
• Completeable Future

Day 4

Module 6: Java 8 Features

• Fundamentals of Functional Programming


• Lambda Expressions
• Functional Interfaces
• Method References
• Default Methods
• Optional Class
• Stream API Overview
• Streaming Sources
• Intermediate Operations
• Terminal Operations
• Serial vs Parallel Stream
• New Date/Time API

Day 5

Module 7: Java 11/17 Features

• Module System Overview


• Reactive Streams Overview
• JShell
• Local Variable Type Inference
• String API / Stream API Enhancements
• New File Methods
• New HTTP client
• Switch Case Expression
• Pattern Matching
• Record
• Sealed Classes

Page 5 of 7
<Java Advanced>

Module 8: Intro to JDBC

• Databases & RDBMS Overview


• SQL Overview
• JDBC Overview
• JDBC Drivers and Sample program

Day 6

Module 9: Intro to JUnit

• Unit Testing Overview


• JUnit Overview
• Writing tests in JUnit 5
• Annotations
• Test Classes and Methods
• Assertions
• Test lifecycle
• Running Tests
• Test Mocks with Mockito

Day 7

Module 10: Intro to JNI and JNA

• Overview of JNI and its purpose


• When and why to use JNI
• Understanding the JNI architecture and components
• Creating a simple Java class with native methods
• Writing the corresponding C/C++ implementation
• Compiling the native code and generating the shared library
• Loading native libraries
• Managing native method calls and memory
• Data Types and Conversions
• Exception Handling

• Overview of JNA and its purpose


• Advantages of using JNA over JNI
• Understanding how JNA works
• Creating a simple Java class to call native functions
• Mapping C functions to Java methods
• Loading native libraries
• Working with Struts and Callbacks
• Exception Handling

Page 6 of 7
<Java Advanced>

8.Course Structure:
Activity Indicative Number of Hours

Pre-Read Hours 12
Teaching Hours 28
Hands on Sessions Hours 28

Assignments & Tutorial Hours 12


Mock Project Hours 20

9.Course Structure:

Method of Assessment Yes/No Weightage

Pre-Assessment Yes -
Mid-Assessment Yes -
Post-Assessment Yes -
Project Work Yes (Assignments) -

10.Course Resources: NA

11.Recommended Reading Links: NA

12.Course Owner (s):

Employee Name Employee Mail ID Business Unit

Ganesh Babu Gunasekaran ganeshbabu.gunasekaran@in.bosch.com (MS/ECX4-TM-XC)


Hassan Suresh Thejas thejas.hassansuresh@in.bosch.com (BGSW/PJ-ETA-SAT)

Page 7 of 7

You might also like