Paper I/Subject Name: Advanced JAVA Programming Subject Code:
L-T-P-C – 4-0-1-5 Credit Units: 05 Scheme of Evaluation: T
Objective:
This course provides basic knowledge of Advanced Java concepts, focusing on enterprise application development,
multithreading, distributed computing, microservices, cloud-based Java applications, and performance optimization.
The course will enable students to develop scalable, secure, and high-performance applications.
Prerequisites: Core Java (JDK, OOPs, Collections, Exception Handling, File Handling, JDBC)
Course Outcomes:
On successful completion of the course, the students will be able to:
Blooms Taxonomy
SI No Course Outcome
Level
CO 1 Understand and apply advanced object-oriented programming BT 1 & 2
principles in Java.
CO 2 Develop distributed and multi-threaded applications using Java BT 3
CO 3 Implement Java EE technologies for enterprise applications BT 4
CO 4 Analyze cloud computing, microservices, and security aspects in Java BT 5
applications.
CO 5 Design and optimize high-performance Java applications BT 6
Detailed Syllabus:
Modules Topics Course content Periods
I Advanced JAVA Multithreading & Concurrency: Thread Lifecycle, Synchronization, Thread 22
Concepts Pools, Fork-Join Framework, CompletableFuture, Deadlocks, Concurrent
Collections. Java Streams & Functional Programming: Lambda
Expressions, Method References, Parallel Streams, Functional Interfaces.
Java 8+ Features: Optional, Date-Time API, Sealed Classes, Pattern
Matching
II JAVA Servlets & JSP: Servlet API, Filters, Session Management, Expression 22
Enterprise Language, MVC Architecture. JPA & Hibernate: ORM (Object-Relational
Mapping), Lazy vs Eager Loading, Query Language, Caching. Spring
Framework & Spring Boot: Dependency Injection, RESTful Web Services,
Microservices, Spring Security (JWT, OAuth2), Spring Data, Actuators,
Circuit Breakers
III Networking in Networking in Java: Sockets, RMI (Remote Method Invocation), gRPC. 22
JAVA Event-Driven Architecture: Apache Kafka, RabbitMQ, JMS (Java Messaging
Service). Java in Cloud: AWS Lambda with Java, Serverless Computing,
Kubernetes-based Deployments, API Gateway, Cloud-Native Java
(MicroProfile)
IV JAVA JVM Optimization: Garbage Collection Strategies (G1, ZGC, Shenandoah), 22
Performance & Profiling Tools (VisualVM, JFR, JMC). Java Security: Cryptography (AES,
Security RSA, Hashing), Secure Coding Practices (OWASP Top 10), OAuth2, JWT,
API Security. Reactive Programming with Java: Project Reactor, RxJava,
Backpressure Handling,
Total 88
Advanced JAVA Programming Lab Syllabus
Total Lab Hours for the semester = 30 (2 hours per week)
Minimum 10 Laboratory experiments based on the following-
Experiment Title Objective
No.
1 Multithreading & Executor Implement thread pool, synchronization, and parallel
Framework tasks
2 Stream API & Functional Work with lambda expressions, Streams API, and
Programming functional interfaces
3 Servlet-Based Web Application Develop a basic web application using Servlets & JSP
4 RESTful API with Spring Boot Build a REST API using Spring Boot and test it with
Postman
5 Hibernate & JPA Implementation Create a CRUD-based application using Hibernate ORM
6 Java RMI for Distributed Computing Implement Remote Method Invocation (RMI) for a client-
server model
7 Message Queue Processing with Develop a producer-consumer model using Apache Kafka
Kafka
8 Dockerized Java Microservice Deploy a Java-based microservice using Docker &
Kubernetes
9 Cloud-Based Java App Deployment Host a Java Spring Boot application on AWS Lambda
10 Profiling & JVM Optimization Analyze memory usage and GC behavior, and optimize
performance
11 Implementing OAuth2 Secure a Java-based API using OAuth2 & JWT tokens
Authentication
12 Reactive Programming with Java Develop asynchronous applications using Project Reactor
13 Java Security & Encryption Implement AES encryption and role-based authentication
14 Anycast Routing for Java-Based Optimize network communication for Java applications
CDN
15 Blockchain-Based Secure Java Implement a blockchain ledger using Java
Application
Credit Distribution
Lecture/ Tutorial Practicum Experiential Learning
8 * 4 NCH = 32 NCH
4 * 22 NCH = 88 NCH 2 * 15 NCH = 30 NCH (Problem Solving, Seminar, Case Study,
Discussion, Internship, Projects)
Textbook:
1. Java: The Complete Reference, Herbert Schildt, 12th Edition
Reference Books:
1. Effective Java, Joshua Bloch
2. Spring in Action, Craig Walls
3. Java Performance: The Definitive Guide, Scott Oaks
4. Microservices with Spring Boot and Spring Cloud, Magnus Larsson