Java Programming
1. Introduction to Java [2-3 Classes]
• History and Evolution of Java
• Java Features [Platform Independent, Robust, Secure etc.]
• Java Editions [JSE, JEE, JME]
• Setup JDK, JRE and IDE [Eclipse/IntelliJ IDEA]
• Java Program Structure
2. Java Basics [3-5 Classes]
• Java Program Structure [Hello World Program]
• Tokens in Java [Identifiers, Keywords, Literals, Operators]
• Data Types [Primitive & Non-Primitive]
• Variables and Constants
• Type Casting
• Comments
3. Control Statements [5 Classes]
• Conditional Statements:
o if, if-else, nested if, switch
• Looping Statements:
o for, while, do-while, for each, Nested Loops
• Jump Statements:
o break, continue, return
4. Object-Oriented Programming [OOPs] [3 Classes]
• Class and Object
• Method Declaration & Invocation
• Constructors [Default, Parameterized, Constructor Overloading]
• this Keyword
• Static Members
• Method Overloading
• Access Modifiers: public, private, protected, default
5. Inheritance and Polymorphism [5 Classes]
• Inheritance [Single, Multilevel, Hierarchical]
• super keyword
• Method Overriding
• Dynamic Method Dispatch [Runtime Polymorphism]
• final Keyword
6. Abstraction
• Abstract Classes and Methods
• Interfaces
• Difference between Abstract Class and Interface
7. Encapsulation
• Getters and Setters
• JavaBeans Convention
• Access Modifiers
8. String Handling [3-5 Classes]
• String Class and Methods
• StringBuffer vs StringBuilder
• String Immutability
• String Operations [substring, concat, trim, split, etc.]
9. Arrays [2-3 Classes]
• 1D Arrays
• 2D Arrays
• Array Operations
• Arrays Class [Utility Methods]
10. Exception Handling [3 Classes]
• Types of Exceptions [Checked & Unchecked]
• try-catch-finally block
• throw and throws keyword
• Custom Exception
11. Wrapper Classes [2 Classes]
• Autoboxing and Unboxing
• Primitive vs Wrapper Comparison
12. Java Collection Framework [10 Classes]
• List [ArrayList, LinkedList, Vector, Stack]
• Set [HashSet, LinkedHashSet, TreeSet]
• Map [HashMap, LinkedHashMap, TreeMap]
• Queue [PriorityQueue, Deque]
• Iterator, ListIterator, Enumeration
• Comparable vs Comparator
13. Java I/O [Input/Output] [3 Classes]
• File Handling using File Class
• Byte Stream: FileInputStream/FileOutputStream
• Character Stream: FileReader/FileWriter
• BufferedReader/BufferedWriter
• Serialization & Deserialization
14. Multi-threading [5 Classes]
• Thread Creation [Thread class, Runnable Interface, Callable Interface]
• Thread Lifecycle
• Thread Methods: sleep(), join(), yield(), interrupt()
• Synchronization
• Inter-thread Communication [wait(), notify(), notifyAll()]
15. Java 8 Features [5 Classes]
• Lambda Expressions
• Functional Interfaces [@FunctionalInterface]
• Stream API
• Method References
• Default & Static Methods in Interfaces
• Optional Class
16. Packages & Access Control [2 Classes]
• Built-in Packages [java.util, java.io etc.]
• User-defined Packages
• Importing Packages
• import static
17. Inner Classes [3-5 Classes]
• Member Inner Class
• Static Nested Class
• Local Inner Class
• Anonymous Inner Class
18. Java Annotations
• Built-in Annotations: @Override, @Deprecated, @SuppressWarnings
• Custom Annotations
• Meta-annotations
19. Enum in Java [2 Classes]
• Declaring Enums
• Enum Constructors and Methods
• Use in Switch Statements
20. Java Memory Management [2 Classes]
• Stack and Heap
• Garbage Collection
• Finalize Method
• Memory Leaks and Best Practices
JDBC [Java Database Connectivity] [3-5 Classes]
1. Introduction to JDBC
• What is JDBC?
• JDBC Architecture [DriverManager, Connection, Statement]
• JDBC API Packages
2. JDBC Drivers
• Types of JDBC Drivers [Type 1 to Type 4]
• Which Driver to use and when
3. Core JDBC API Interfaces & Classes
• DriverManager
• Connection
• Statement
• PreparedStatement
• CallableStatement
• ResultSet
4. CRUD Operations
• Connecting to the Database
• Insert, Update, Delete, Select operations using:
o Statement
o PreparedStatement
• Batch Processing
5. Advanced JDBC
• Calling Stored Procedures using CallableStatement
• ResultSet Metadata [ResultSetMetaData]
• Database Metadata [DatabaseMetaData]
• Transaction Management:
o AutoCommit
o Manual Commit and Rollback
6. JDBC Best Practices
• Closing Resources in finally or try-with-resources
• SQL Injection Prevention
• Connection Pooling Concept [Apache DBCP, HikariCP]
Servlets [3-5 Classes]
1. Introduction to Servlets
• What is a Servlet?
• Servlet Life Cycle
o init(), service(), destroy()
2. Servlet API & Classes
• HttpServlet, GenericServlet
• ServletRequest, HttpServletRequest
• ServletResponse, HttpServletResponse
• ServletConfig vs ServletContext
3. Servlet Mapping and Deployment
• web.xml configuration [deployment descriptor]
• @WebServlet annotation
4. Handling Requests & Responses
• GET vs POST
• Request Parameters [getParameter(), getParameterValues()]
• RequestDispatcher [forward() and include()]
5. Session Management
• Cookies
• HttpSession
• URL Rewriting
• Hidden Form Fields
6. Servlet Communication
• Servlet Chaining
• Passing data between servlets
7. File Upload and Download in Servlets
• Multipart/form-data handling using Apache Commons FileUpload
8. Exception Handling in Servlets
• Error pages via web.xml
• sendError() method
JSP [Java Server Pages]
1. Introduction to JSP
• Difference Between JSP and Servlet
• JSP Lifecycle
2. JSP Scripting Elements
• Scriptlet <% %>
• Expression <%= %>
• Declaration <%! %>
3. JSP Directives
• page directive
• include directive
• taglib directive
4. JSP Implicit Objects
• request, response, session, application
• out, config, page, exception
5. JSP Action Tags
• <jsp:include>
• <jsp:forward>
• <jsp:param>
• <jsp:useBean>, <jsp:setProperty>, <jsp:getProperty>
6. JSP with JavaBeans
• Using JavaBeans in JSP
• Setting/getting properties
7. JSTL [JSP Standard Tag Library]
• Core Tags: c:out, c:if, c:choose, c:forEach
• Formatting, SQL, XML, Functions tags [basic overview]
8. Exception Handling in JSP
• errorPage and isErrorPage attributes
• Try-catch in JSP
9. Expression Language [EL]
• ${} syntax
• Implicit objects in EL
• Accessing bean properties