Before Python, I used to program mainly in Java. And my highlight in my undergrad was :
Clearing Java Certification (Oracle Certified Professional Java Programming)
Creating an app.
The app was very basic. But it provided a valuable experience in terms of learning. And clearing OCPJP certification solidified my learning. And while I don’t use Java anymore and have switched to Python, I think these resources would be helpful for anyone using Java or wanting to learn Java. Sharing them below:
Some of the best youtube resources to learn from:
Programming with Mosh : Link
Java Telusko : Link
FreeCodeCamp : Link
MOOC Java :
Java Cheatsheets:
Cheatsheet 1: Link
Java Cheatsheet 2 : Link
Learning Java Roadmap :
Weeks 1–2: Java Basics & Object-Oriented Programming
Topics:
Java syntax and structure
Primitive data types, variables, and arrays
Control flow (if, switch, loops)
Classes, objects, methods, constructors
Encapsulation and access modifiers
Tasks:
Read Chapters 1–3 of OCP Study Guide by Jeanne Boyarsky & Scott Selikoff
You can combine this with solving Leetcode easy problems in Java to prepare for Interview
Weeks 3–4: Inheritance, Polymorphism, and Interfaces
Topics:
Inheritance and method overriding
super
andthis
Abstract classes and interfaces
Static and default interface methods
Tasks:
Read Chapters 4–5 of OCP Study Guide by Jeanne Boyarsky & Scott Selikoff
Practice exam questions from sample test here
Weeks 5–6: Core Java APIs
Topics:
String, StringBuilder
Wrapper classes, Autoboxing
Java.util.Objects, equals, hashCode
Tasks:
Read Chapter 6 of OCP Study Guide by Jeanne Boyarsky & Scott Selikoff.
Alternatively, you can use Youtube videos if that helps!
Implement custom
equals
andhashCode
LeetCode
Filter by "String" tag for problems involving manipulation, reversal, substring checks, etc.HackerRank – Java Strings
Offers beginner to intermediate practice with Java syntax, including StringBuilder.GeeksforGeeks – Java Wrapper Classes
Read and then try coding exercises at the end of each article.JavaPoint – Wrapper Class Quiz
Quick MCQs to test understanding of autoboxing/unboxing behavior.Exercism – Java Track
Great for learning object-oriented programming concepts, includingequals()
andhashCode()
.Edabit – Java Challenges
Use custom class exercises to practice overriding methods likeequals()
andhashCode()
.
Weeks 7–8: Exceptions, Lambdas, and Streams
Topics:
Checked vs unchecked exceptions
Try-with-resources
Functional interfaces, Lambda expressions
Stream API basics and pipelines
Tasks:
Read Chapters 7–8 of OCP Study Guide by by Jeanne Boyarsky & Scott Selikoff.
HackerRank – Java Exception Handling
Practice identifying and handling different exception types.GeeksforGeeks – Exception Handling in Java
Includes conceptual explanations with hands-on code snippets and quizzes.Java Code Examples – Try-with-resources
Scroll to examples and challenges at the bottom of the article.Exercism – Java File Handling
Many exercises require file/resource handling, where you can applytry-with-resources
.HackerRank – Java Lambda Expressions
Great intro-level challenge usingPredicate
,Consumer
, etc.JetBrains Academy – Java Functional Programming Track
Offers interactive projects using lambdas and functional interfaces.LeetCode – Stream-based Practice
Not official, but many community problems use streams (look for functional solutions).CodeGym – Streams and Lambda
Has specific sections on Java 8 features with practical tasks.
Weeks 9–10: Collections, Generics, and Nested Classes
Topics:
List, Set, Map interfaces
Iterator, Comparable, Comparator
Generics syntax and wildcards
Static, non-static nested and inner classes
Tasks:
Read Chapters 9–10 of OCP Study Guide by by Jeanne Boyarsky & Scott Selikoff.
Extensively use Leetcode to practice these as they are main data structures.
Weeks 11–12: Concurrency, Modules, and I/O
Topics:
Threads, Runnable, synchronization
ExecutorService
Java modules (Java 9+)
java.io and java.nio.file APIs
Tasks:
Read Chapters 11–13
HackerRank – Java Threads
Look for the day focused on threads (Java concurrency basics).GeeksforGeeks – Multithreading in Java
Each topic (e.g.,Runnable
,synchronized
) has coding examples and practice questions.Exercism – Java OOP/Concurrency Exercises
Search exercises tagged with concurrency or OOP for threading logic.Baeldung – ExecutorService Examples
Follow the examples and try modifying tasks (fixed thread pool, scheduled executor, etc.).JetBrains Academy (Hyperskill) – Java Multithreading Track
Offers structured, project-based learning withExecutorService
.CodeGym – Java Modules Tutorial with Practice
Introducesmodule-info.java
and project structure.Baeldung – Java 9 Modules
Offers guided tasks at the end of each article.JetBrains Academy – Explore projects that use modular programming.
Exercism – File I/O Exercises
Tasks involving reading/writing files with bothjava.io
andjava.nio.file
.HackerRank – Java File Reading
Basic file reading and parsing practice.Baeldung – Java I/O Guides
Learn and modify working examples ofFiles.walk()
,readAllLines()
, etc.
Weeks 13–14: Review and Practice
Tasks:
Revisit weak areas
Use Enthuware or Whizlabs OCP mock tests
Redo practice questions from each chapter
Build mini-project (e.g., task tracker, file manager)
Weeks 15–16: Full Mock Tests + Exam Readiness
Tasks:
Take at least 4 full-length timed mock exams : Link
Analyze performance and review errors
Final revision of key concepts
Prepare exam-day logistics
Hope this is helpful!