
What are variables;
Key characteristics of variables;
Types of variables;
Variable Naming Rules
Primitives
Suffixes for number types;
Explicit and implicit casting.
If-else statements
Ternary operator
Switch statements
for loops
while loops
do-while loops
Objects and primitives in Java
Autoboxing and Unboxing in Java
Primitives vs Wrapper Classes
Exceptions
Hierarchy of Exceptions in Java
Types of Exceptions
try-catch-finally block
What is enum?
How to declare an enum
Using enums in switch statement
How to compare enums
Enum methods
Enums with methods and fields
Enums implementing interfaces
What is Serialization
Conditions for Serialization
serialVersionUID
Deserialization
Where Serialization can be used
Limitations of Serialization
What is Java Memory Model
Primary memory areas
Java Memory Components
Garbage collector
Agenda:
What is OOP?
Access modifiers in Java, examples, its role in OOP
Key components of OOP
Examples of OOP in real life
What is class?
Why do we need to use OOP?
Core principles of OOP
Agenda:
What is Inheritance?
Why is Inheritance Needed?
Example of Inheritance
Drawbacks of Inheritance
Agenda:
Encapsulation definition
Key Aspects of Encapsulation
Take a look at an example
Benefits of Encapsulation
What is Polymorphism?
The goal of Polymorphism
Types of Polymprphism
Overloading vs Overriding
Definition of abstract class
Key Characteristics of an Abstract Class
What is an Interface?
Key Characteristics of an Interface
Peculiarities and differences of Abstract Classes and Interfaces
What is Abstraction in OOP?
Key idea of abstraction
Example of Abstraction
How is Abstraction Achieved in OOP
Anonymous class
Benefits of Abstraction
Constructors
Static blocks
Instance Initialization Blocks
Order of execution
Constructor overloading
super keyword
What is generics
Generic class
Generic method
Bounded type parameters
Wildcards
Erasure in Generics
String
String pool
Comparing Strings
String methods
StringBuilder
StringBuffer
When to use each
ArrayList
LinkedList
What is equals and hashcode methods
equals and hashcode contracts
Common mistakes to avoid
Best Practices for equals() and hashCode()
HashMap
HashSet
Comparator
Comparable
When to use each
TreeMap
TreeSet
Iterator key methods
ConcurrentModificationException
Why use an iterator
ListIterator
Iterable
What is LinkedHashSet
How does it work
Advantages of LinkedHashSet
CopyOnWriteArrayList
What is CopyOnWriteArrayList
Why is it Needed?
How Does It Work?
When to Use CopyOnWriteArrayList?
Drawbacks
Lambdas
Optional
Streams
LocalDate
LocalTime
LocalDateTime
ZonedDateTime
Instant
Duration and Period
DateTimeFormatter
var keyword
New factory methods for collections
New String methods
New optional methods
switch expressions,
pattern matching,
text blocks
records
sealed classes
What is process and thread
How to create thread
Main methods of thread
What is monitor
Thread states in Java
Wait and notify methods
How they work
CyclicBarrier
Countdownlatch
What is Callable
What is Future
Future’s methods
ExecutorService
volatile keyword
Atomics
Are you looking to learn Java Core from scratch? This course is designed for beginners who want to build a solid foundation in Java programming. Whether you are new to coding or want to strengthen your Java skills, this course provides clear explanations, hands-on coding examples, and useful interview preparation materials to help you succeed.
Throughout the course, you will explore essential Java topics such as object-oriented programming (OOP), strings, Java collections, multithreading, and key Java features. Each topic is explained in a simple and structured way, making it easy to understand even if you have no prior programming experience.
This course includes:
Step-by-step explanations of Java Core concepts.
Practical coding examples to reinforce your learning.
Tests and quizzes to check your understanding.
Interview preparation materials to help you land a Java-related job.
Hands-on exercises to apply what you learn in real coding scenarios.
By the end of this course, you will have a strong grasp of Java Core, enabling you to write Java programs confidently and prepare for technical interviews. All you need is a computer and basic computer skills—no prior coding experience required!
Start your Java learning journey today and take the first step toward becoming a Java developer!