Why Core Java
Java is a programming language and a platform. Java is a high level, robust, object-oriented and secure programming language. Java was developed by Sun Microsystems (which is now the subsidiary of Oracle) in the year 1995. James Gosling is known as the father of Java. Before Java, its name was Oak. Since Oak was already a registered company, so James Gosling and his team changed the Oak name to Java.
Introduction to Java
- Evolution of Java
- Object Oriented Programming Structure
- Client side Programming & its requirements
- Platform Independency & Portability
- Security
- Relation b/w JVM, JRE and JDK
- Description of a Simple Java Program
- Introduction to JAR format
- Naming Conventions
OOPs Implementation
- Classes and Objects Defining attributes and methods
- Implementing data encapsulation
- Relation b/w objects and reference variables
- Constructors and Anonymous block
- Static Data members, Block & methods
- Understanding Memory structure
- Stack
- Heap
- Class & Method area
- Understanding Class loading & Execution flow
- Static vs Dyanmic class loading
- Implicit vs Explicit class loading
- Sequence of operations performed at the time of class loading
- Argument Passing Mechanism
- Passing primitive arguments
- Passing objects
- Wrapper classes & their use
- Usage of this keyword
- Referencing instance members
- Intra class constructor chaining
- Method chaining
- Inheritance & code reusability
- Extending classes for code reusability
- Usage of super keyword
- Method Overriding
- Object class and its role
- Inheritance & Runtime polymorphism
- Static & Dynamic binding
- Inheritance and Is-A relation
- Runtime polymorphism and generalization
- Abstract classes & methods
- final keyword
- Interfaces and Role based Inheritance
- Difference b/w Feature & Role based Inheritance
- Difference b/w Static & Dynamic classing Environment
- Difference b/w classes & interfaces
- Use of interfaces in real scenarios
- Implementing Has-A relation
- Difference b/w Aggregation & Composition
- Nested classes and their role
- Inner classes
- Anonymous Inner classes
- import keyword and feature of static import
- public, protected, private & default scope
- Examples of private inheritance
String Handling
- What is String
- Immutable String
- String Comparison
- String Concatenation
- SubString
- Methods of String Class
- StringBuffer
- StringBuilder
- StringTokenizer
Exception Handling
- Difference b/w exception and error
- Exception Handling & Robustness
- Common Exceptions and Errors
- try and catch block
- Exception handlers & importance of their order
- throw keyword and its usage
- Checked and Unchecked Exceptions
- Role of finally
- Creating User defined Exceptions
MultiThreading in Java
- Multitasking and Multithreading
- Thread based execution model of Java Applications
- Relation b/w Runnable interface and Thread class
- States of Thread
- Implementing User threads
- Thread synchronization & mutual exclusivity
- Inter Thread communication and Thread scheduling
- Understanding and using Monitor
- Thread deadlock and Interrupting Threads
- ThreadGroup and its use
- Daemon Threads and their use
Input Output Streams
- Streams & their advantages over conventional input output
- Commonly used byte oriented streams
- Commonly used character oriented streams
- Reading & writing data from different streams
- Redirecting Standard input & output streams
- Serialization
- Use of transient keyword
- Scanner class
Networking
- InetAddress class and Factory Design Pattern
- Understanding socket and port
- TCP/IP based networking using Socket & Server Socket
- UDP based networking using DatagramSocket and DatagramPacket
- HTTP based networking using URL and URLConnection
Reflection
- Understanding object representation of classes Loading classes dynamically
- Instantiating classes indirectly
- Obtaining information of classes dynamically
- Invoking methods indirectly
Collection Framework
- Role and Importance of Collection Framework
- Use of List & Set based collection
- Use of Iterator & ListIterator
- Use of Maps
- Searching elements in List, Hash and Tree based collections
- Role of equals and hashCode() methods
- Role of Comparable and Comparator interfaces
- Thread safety and Vector
- Difference b/w Enumeration and Iterator
Database Connectivity Using JDBC 4.x
- Overview of native and ODBC Drivers
- Introduction to JDBC
- Type of JDBC drivers
- Using different type of drivers
- Defining properties based Connection Factory
- Performing basic database operations
- Insert, Delete, Update and Select
- PreparedStatement
- Difference b/w Statement & PreparedStatement
- Setting Query parameters
- Executing Queries
- CallabeStatement
- Creating Callable statements
- Batch Updation
- Transacting queries
- Programmatic initialization of database
- Scrollabe & Updatable Resultset
- ResultSetMetaData
- DatabaseMetaData
- Connection Pooling and DataSource Implementation of DAO design pattern