Core Java
Description
Java SE, the standard edition and a set of related technologies, like the Java VM, CORBA, et cetera. This is mostly to differentiate from, say, Java ME or Java EE. Also note that they’re talking about a set of libraries rather than the programming language…
Core Java Course content
Core Java Programming Introduction of Java
- Introduction to Java; features of Java
- Comparison with C and C++
- Download and install JDK/JRE (Environment variables set up)
- The JDK Directory Structure
- First Java Program through command prompt
- First Java Program
Data Types and Operators
- Primitive Data types, Declarations, Ranges
- Variable Names Conventions
- Numeric Literals, Character Literals
- String Literals
- Arrays(One dimensional; two- dimensional)
- Array of Object References
- Accessing arrays, manipulating arrays
- Enumerated Data Types
- Non-Primitive Data types
- Defining a class, variable and method in Java
- Method Signature; method calls
- Expressions in Java; introduction to various operators
- Assignment Operator
- Arithmetic Operators
- Relational Operators
- Logical Operators
- Conditional Operators
- Operator Precedence
- Implicit Type Conversions
Control Flow Statments
- Statements and it's various categories in Java
- If, if-else, if-else-if
- Switch case
- for statement (both flavors traditional and enhanced for)
- while and do-while loops
- The continue Statement; labeled continue statement
- The break Statement; labeled break statement
- Return statement
Oops and Its application in Java
- Classes and Objects
- Defining a class; Defining instance variables and methods
- Creating objects out of a class
- Method calls via object references
- Abstraction
- Interfaces and Abstract classes
- Abstract and non-abstract methods
- Extends and implements keywords in Java
- Super class and Sub class
- this keyword, super keyword in Java for inheritance
- Concrete classes in Java
- Polymorphism
- Compile time polymorphism -- Overloading of methods
- Run time polymorphism -- Overriding of methods
- Method Overriding rules and method overloading rules
- Introduction to Object class and it's methods
- Encapsulation
- Protection of data
Packages
- Need for packages
- What are packages
- Package declaration in Java
- Import statement in Java
- How do packages resolve name clashes?
Statics
- Static variables and methods
- Static imports
- Static initialization blocks
- Instance intialization blocks
- Static concept in inheritance
Constructors
- What are Constructors?
- Properties of Constructors
- Default and Parameterized Constructors
- Rules for constructor implementation
- Constructor Chaining
- This call; super call for constructors
- Constructors for Enumerated Data Types
- Constructors concept for Abstract classes and interfaces
Exceptions in Java
- What are Exceptions?
- Need for exceptions
- How can Exceptions be coded in Java?
- API heirarchy for Exceptions
- Types of Exceptions
- Keywords in Exception API: try, catch, finally, throw, throws
- Rules for coding Exceptions
- Declaring Exceptions
- Defining and Throwing Exceptions
- Errors and Runtime Exceptions
- Custom Exception
- Assertions
- What are Assertions?
Miscellaneous
- Var-Args
- Reference variables, local variables, instance variables
- Memory allocations to variables
- Double equals operator(==) operator for primitives and objects
- toString() method on an object
Strings in Java
- What are Strings?
- String heap memory and Constant Pool memory
- Immutability in Strings
- String creation on heap and constant pool
- Method APIs on String; operations on Strings
- Mutability of String Objects - String Builder and StringBuffer
- aSplitting of Strings and String Tokenizer class
Collection Framework in Java
- The Collections Framework
- The Set Interface
- Set Implementation Classes
- The List Interface
- List Implementation Classes
- The Map Interface
- Map Implementation Classes
- Queue Interface
- Queue Implimentation classes
- Utility classes
- Sorting collections using utility methods
- equals() and hash Code contract in Java collections
- overriding equals and hash Code methods in Java
- New Collections added in Java 1.6
- Primitive wrapper classes and all its method APIs
Input-Output in Java
- What are Strings?
- String heap memory and Constant Pool memory
- Immutability in Strings
- String creation on heap and constant pool
- Method APIs on String; operations on Strings
- Mutability of String Objects - String Builder and StringBuffer
- aSplitting of Strings and String Tokenizer class
Serialization
- Object Serialization
- Serializable Interface
- Serialization API
- ObjectInputStream and ObjectOutput
- Transient Fields
- ReadObject and writeObject
- Object Serialization
- Serializable Interface
- Serialization API
- ObjectInputStream and ObjectOutput
- Transient Fields
- ReadObject and writeObject
Swing GUI
- Introduction to AWT
- Introduction to Swing GUI
- Advantages of Swing over AWT
- Swing API
- Swing GUI Components
- Event Handlers for Swing
- Sample Calculator application using Swing
GUI and Swing Event handling
Threads in Java
- Non-Threaded Applications
- Threaded Applications
- Process based multitasking Vs Thread based multitasking
- Thread API in Java
- Creating Threads
- States of a Thread
- Synchronization for threads
- Static and non-static synchronized methods;
- Blocks; concept of object and class locks
- Coordination between threads - wait, notify and notify
- All methods for inter-thread communication
JDBC
- What is JDBC; introduction
- JDBC features
- JDBC Drivers
- Setting up a database and creating a schema
- Writing JDBC code to connect to DB
- CRUD Operations with JDBC
- Statement types in JDBC