This repository follows a structured roadmap to learn Java, based on the SH Java Roadmap. Throughout this project, I will be addressing various topics and exercises that will help me master the language.
The topics covered in this repository, and that I will be adding progressively as I advance in the roadmap, include the following (note that this list may evolve as the roadmap updates over time):
-
Learn the Basics
Fundamental syntax, variables, loops, conditionals, and methods. -
Object-Oriented Programming (OOP)
Classes, inheritance, polymorphism, interfaces, and more advanced OOP concepts. -
Collections
Understanding and utilizing Java's Collection Framework: Lists, Sets, Maps, etc. -
Logging Frameworks
How to implement logging in Java applications, including popular libraries like Log4j or SLF4J. -
Testing
Writing unit tests and integration tests with frameworks like JUnit, TestNG, and Mockito. -
Database Access
Learning to interact with databases using JDBC, ORM frameworks like Hibernate, or Spring Data. -
Build Tools
Working with tools like Maven or Gradle to automate builds, manage dependencies, and package Java applications. -
Web Frameworks
Introduction to building web applications using Java with frameworks like Spring Boot. -
Functional Programming
Exploring functional programming paradigms in Java, including lambdas, streams, and immutability.
The objective of this repository is to document and track my progress while learning Java for the year 2025, following the structured roadmap provided by SH. All the code in this repository has been created while learning from the roadmap, and the goal is for anyone reviewing the repository to clearly follow my learning path.
- Review the files in each folder to find the theory and practical exercises.
- You can follow the roadmap step by step, completing each exercise incrementally.
- Feel free to explore the repository and see how the knowledge is applied throughout the learning process.
This repository is intended to showcase my learning journey with Java, offering insight into my progression and growth in the language. All code here represents my learning path.
For Java projects, please visit my proyectos_2025 repository.
As I progress in my learning, additional topics and projects may be added to this repository. The list of topics is subject to change depending on any updates or modifications made to the roadmap during the course of my learning journey.