The Job Guarantee course for you!
Build robust Java applications: Using OOP, collections, streams, and concurrency.
Design clean, testable Java code: Following modern patterns and principles.
Crack Java interviews confidently: With hands-on projects and structured revision.
What Will You Learn?
Move from syntax-level comfort to production-ready Java problem solving.
Gain clarity on core topics: OOP, exceptions, generics, collections, and streams.
Build a polished GitHub portfolio: Showcasing real Java backend projects.
Increase chances of landing Java roles, internships, and switch opportunities.
Course Curriculum
- Install JDK 17 for Windows 0:01 Min
- Programming Tools Setup 0:15 Min
- Hello World 0:01 Min
- Variables 0:03 Min
- Primitive Types 0:02 Min
- byte, short, long, and width 0:02 Min
- Casting in Java 0:02 Min
- Primitive Types Challenge 0:02 Min
- Float and Double Primitives 0:02 Min
- The char and boolean Primitive Data Types 0:04 Min
- Primitive Types Recap and the String Data Type 0:02 Min
- Operators, Operands and Expressions 0:06 Min
- Abbreviating Operators 0:02 Min
- Floating Point Precision and a Challenge 0:02 Min
- First Steps 0:15 Min
- From JShell to an IDE 0:03 Min
- Installing IntelliJ IDEA for Windows 0:01 Min
- Hello World in IntelliJ 0:01 Min
- if-then Statement 0:05 Min
- Logical AND Operator 0:02 Min
- Logical OR Operator 0:02 Min
- Assignment Operator VS Equals to Operator 0:02 Min
- Ternary Operator 0:03 Min
- Operator Precedence and Operator Challenge 0:04 Min
- IntelliJ Basics 0:10 Min
- Introduction 0:01 Min
- Keywords and Expressions 0:02 Min
- Statements, Whitespace and Indentation (Code Organization) 0:01 Min
- Code Blocks And The If Then Else Control Statement 0:02 Min
- if then else Challenge 0:02 Min
- Methods in Java 0:05 Min
- More on Methods 0:03 Min
- Methods Recap 0:03 Min
- Method Challenge 0:02 Min
- Method Overloading 0:03 Min
- Method Overloading Challenge 0:03 Min
- Expressions, Statements & More 0:10 Min
- Introduction 0:01 Min
- The switch statement 0:02 Min
- More switch statement 0:05 Min
- Traditional Switch Challenge 0:03 Min
- The for Statement 0:04 Min
- The for Statement Challenge Exercise 0:02 Min
- The while and do while statements 0:05 Min
- The while Loop Challenge Exercise 0:01 Min
- While Loop and Do While Recap 0:02 Min
- Local Variables and Scope 0:01 Min
- The class, the object, static & instance fields and methods 0:03 Min
- Parsing Values and Reading Input using System.console() 0:02 Min
- Exception Handling, and Introduction to Scanner 0:02 Min
- Reading Input with Scanner 0:03 Min
- Reading User Input Challenge 0:01 Min
- Control Flow 0:10 Min
- Introduction 0:01 Min
- Introduction to Classes and Objects 0:01 Min
- Introduction to Classes, Using Getter Methods 0:02 Min
- Classes, Using Setters, and Creating Objects 0:01 Min
- Constructors Part 1 0:02 Min
- Constructors Part 2 0:02 Min
- Constructor Challenge Exercise 0:02 Min
- Reference vs Object vs Instance vs Class 0:02 Min
- Static vs Instance Variables 0:02 Min
- Static vs Instance Methods 0:02 Min
- The POJO 0:01 Min
- Java's Implicit POJO Type, The Record 0:02 Min
- Inheritance - Part 1 0:02 Min
- Inheritance - Part 2 0:02 Min
- Inheritance - Part 3 0:02 Min
- What is java.lang.Object? 0:01 Min
- this vs super 0:02 Min
- Method Overloading vs Overriding Recap 0:01 Min
- The Text Block and other Formatting Options 0:01 Min
- Another Look at the String 0:04 Min
- String Manipulation Methods 0:03 Min
- The StringBuilder class 0:02 Min
- OOP Part 1 - Inheritance 0:10 Min
- Introduction 0:02 Min
- Composition 0:03 Min
- Encapsulation 0:02 Min
- Polymorphism 0:02 Min
- Casting with classes, and using Object and var references 0:02 Min
- Organizing Java Classes, Packages and Import Statements 0:03 Min
- Testing the runtime type using the instance of operator 0:02 Min
- OOP Part 2 - Polymorphism 0:10 Min
- Introduction 0:01 Min
- Arrays 0:02 Min
- Using java.util.Arrays (sort, fill, copyOf ) 0:03 Min
- Finding a Match, Using a Binary Search and testing equality of arrays 0:04 Min
- References Types vs Value Types 0:01 Min
- Variable Arguments (Varargs) 0:02 Min
- Two-Dimensional Arrays 0:01 Min
- Multi-dimensional Arrays 0:01 Min
- Arrays 0:10 Min
- Introduction 0:01 Min
- List and ArrayList Part 1 0:01 Min
- ArrayList Part 2 0:04 Min
- Arrays vs. ArrayLists 0:01 Min
- Arrays, ArrayList & LinkedList - (Memory and Big O Notation) 0:02 Min
- LinkedList 0:02 Min
- Iterators 0:02 Min
- Introduction to Autoboxing and Unboxing 0:02 Min
- Autoboxing and Unboxing related to Arrays & Lists 0:01 Min
- Introduction to the enum type 0:01 Min
- The enum type continued, with the switch statement 0:02 Min
- Lists, ArrayLists, LinkedLists, Iterators, and Autoboxing 0:10 Min
- Introduction 0:01 Min
- Abstraction & Generalization (with overview of abstract and other modifiers) 0:01 Min
- Abstract Classes 0:03 Min
- Interfaces Part 1 0:03 Min
- Interfaces Part 2 0:01 Min
- Interfaces, what's new since JDK 8 (default methods & public static methods) 0:02 Min
- Interfaces, new since JDK8 (public static & private methods) 0:02 Min
- Interface vs Abstract Class 0:02 Min
- Abstraction 0:10 Min
- Introduction to Generics 0:00 Min
- Generics Part 1 0:02 Min
- Generics Part 2 0:03 Min
- Revisiting Comparable 0:02 Min
- Comparable vs. Comparator 0:03 Min
- Generic classes vs reference types 0:01 Min
- Generics methods, wildcards, and type erasure 0:02 Min
- Static methods & multiple upper bounds 0:01 Min
- Generics 0:10 Min
- Introduction 0:00 Min
- Static Nested Classes 0:02 Min
- Inner Classes 0:02 Min
- Local Classes 0:02 Min
- Anonymous Classes 0:01 Min
- Nested Classes & Types 0:10 Min
- Introduction to the Lambda Expression, and Functional Interfaces 0:02 Min
- Lambda Expressions, syntax, and additional examples 0:02 Min
- Java's Functional Interfaces, Consumer & Predicate 0:02 Min
- Java's Functional Interfaces, Function & Supplier 0:02 Min
- What's a Method Reference? 0:01 Min
- The Most Confusing of the Method References 0:02 Min
- Convenience Methods on Functional Interfaces (Chaining lambdas) 0:03 Min
- Convenience Methods, Continued, with the Comparator 0:03 Min
- Lambda Expression, Functional Interfaces and Method References 0:10 Min
- Introduction to Java's Collections Framework 0:00 Min
- Collections: Understanding the Big Picture 0:02 Min
- Code Setup (Deck of Cards) for java.util.Collections methods 0:02 Min
- Introduction to java.util.Collections 0:02 Min
- java.util.Collections (shuffle, reverse, sort, indexOfSubList) 0:02 Min
- java.util.Collections (binarySearch, frequency, min, max, rotate) 0:02 Min
- Understanding the importance of the hash code 0:02 Min
- Introduction to Sets & HashSet 0:01 Min
- Set Operations, Symmetric and Asymmetric results 0:02 Min
- LinkedHashSet and TreeSet 0:02 Min
- TreeSet, Closest match and subset methods 0:02 Min
- The Map Interface and functionality 0:02 Min
- Map functionality, Continued (compute, replace, remove) 0:03 Min
- Working with Map's view collections (keySet, values, entrySet) 0:02 Min
- Java Collection 0:10 Min
- Revisiting the final modifier 0:02 Min
- Declaring immutable classes to produce immutable objects 0:02 Min
- Constructor review, final field initializations, Introduction to Initializers 0:03 Min
- Enum Constructors 0:02 Min
- Using Final, Immutable classes, Constructors, Initializers 0:10 Min
- A first look at a stream in action 0:02 Min
- The Structure of the Stream Pipeline 0:02 Min
- Maps to Streams (using flatMap) 0:01 Min
- Using Stream's collect & reduce terminal operations 0:02 Min
- Streams 0:10 Min
- Introduction 0:00 Min
- What's a Regular Expression? 0:04 Min
- Using Pattern and Matcher 0:02 Min
- Review of the Regular Expressions for Phone Number/HTML tags 0:02 Min
- Regular Expression 0:10 Min
- Exception Handling: Checked vs. Unchecked, the finally clause 0:05 Min
- First Steps: Understanding File, Path, Files and Paths 0:03 Min
- RandomAccessFile 0:03 Min
- DataOutputStream,DataInputStream & Serialization 0:02 Min
- Input & Output (I/O), Working with files in java 0:10 Min
- Java Threads and Thread Basics 0:02 Min
- Multithreading and Memory 0:02 Min
- java.util.concurrent.locks 0:02 Min
- Managing Threads, Introduction to the ExecutorService, SingleThreadExecutorServi 0:03 Min
- Concurrency 0:10 Min
- MySQL Installation for Windows 0:03 Min
- Database Basics 0:04 Min
- Using MySQL WorkBench to create database and table 0:02 Min
- JDBC 0:03 Min
- Working with Database 0:10 Min
- Introduction to Java Networking 0:05 Min
- Networking Terminology 0:02 Min
- SocketServer vs. ServerSocketChannel 0:02 Min
- Exploring java.nio.ByteBuffer 0:03 Min
- Java Networking with Channels, Reactive Programming, and Virtual Theards 0:10 Min
- Introduction to Debugging 0:03 Min
- Introduction to Unit Testing with JUnit 0:03 Min
- Debugging and Unit Testing 0:10 Min
- Create Your First JavaFX Project 0:02 Min
- JavaFX Overview 0:02 Min
- GridPane Layout 0:02 Min
- HBox Layout 0:02 Min
- JavaFX 0:10 Min
Learn With GreyLearn
-
Real-world mini projects: CLI tools, REST services, and layered enterprise-style architecture.
-
Unit testing: JUnit, testable design, and debugging strategies used in companies.
-
Interview-driven practice: Patterns questions, code rewrites, refactoring, and whiteboard-style problem discussions.
What Learners Say
Shivam Kumar
The review style was kind direct and helped me level up pattern matching clarified logic and removed noisy code profiling showed how to remove hot
HIMA MADHU
I handle time and locales with care for predictable results records and sealed types express intent with fewer errors this course helped me master modern
Pavithraa S
Records keep models concise and still easy to maintain structured logging made production issues easier to trace pattern matching clarified logic and removed noisy code
RAUNAK ANAND
I explain complexity tradeoffs and choose simple solutions structured concurrency reduced leaks and missing joins the course connected language features to architecture moves
Varsha Rani
I handle time and locales with care for predictable results i can migrate legacy code with calm steps and clear checks the project templates made
S ANIL KUMAR
I practice code reviews that focus on outcomes and safety the build pipeline is tidy and makes releases predictable pattern matching clarified logic and removed
Frequently Asked Questions
Have something to know? Check here if you have any questions about us.