-
Code structure:
- Java executable class.
- Variables: Scope, kinds and types (Primitives and Non-primitive).
- Class structure: methods, variable, nested types, init blocks.
- Arrays
- Package & classes.
- Memory: Heap & stack, garbage collection, static VS non-static.
-
Control flow:
- Conditions: if, if-else, if-else-if-else and ternary statement.
- Loops: while-do, do-while, for(C-style), foreach.
- Switch: case-break & fall-through.
- Recursion VS loop.
-
Object Oriented Programming:
- Inheritance
- Encapsulation
- Polymorphism
- Abstraction
- Composition
- Loose coupling
- High cohesion
-
Collections:
- Generics Generics
- Collection interface and its common sub-classes:
ArrayList,LinkedList,HashSet,TreeSet,HashMap,TreeMap - Common conversions
-
String manipulations:
- Understanding
java.lang.Stringclass - Understanding
java.lang.StringBuilderclass - Understanding
java.lang.StringBuffer class
- Understanding
-
Regular Expressions
- Quantifiers, predefined meta chars, patterns and symbols, capturing ,looks (positive & negative, ahead & behind)
- Common usage: match, split, replace
-
Exception handling:
Throwabletree - hierarchyErrorVSException- Checked VS Unchecked Exceptions
tryblocks: try-catch, try-finally, try-catch-finally, multiple-catch, try with resources- Rethrowing concept
- Custom Exception
-
Multi threading:
- Concurrency VS parallelism
- Process & thread
java.lang.Runnable&java.lang.Thread- Thread handling
-
Enumeration:
- Enum type structure: instances, constructors, methods & properties
- Singleton implementation
- State machine
- Abstraction & Polymorphism: Interface implementation and nested methods delegation
-
Working with files
- Understanding
java.io.Fileclass - Working with streams (Input & Output)
Files.ReadAllBytesVSFileInputStreamVSBufferedReader
- Understanding
-
Working with XML
- Understanding
javax.xmlandand org.w3c.dompackages and their classes - Reading, writing and manipulating XML documents
- Load XML from remote server
- Understanding
-
Working with JSON
- Understanding
org.json - Reading, writing and manipulating JSON documents
- Load JSON from remote server
- Understanding
-
Networking
- HTTP client
- HTTP server
-
Java DataBase Connection (JDBC) with MySQL
- Establishing connection
- How to work with prepared statements
- Basic CRUD Operations
- Joins & Unions