Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

22 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

java-primitives

Contains exercises for getting used to java syntax

Core Java Roadmap β€” Checklist


Stage 1: Language Fundamentals

  • Understand Java syntax and structure
  • Learn data types and variable declaration
  • Practice operators and expressions
  • Implement conditionals (if, switch)
  • Work with loops (for, while, do-while)
  • Use basic input/output (Scanner, System.out)

Stage 2: Object-Oriented Programming

  • Create classes and objects
  • Use constructors and method overloading
  • Apply inheritance and method overriding
  • Understand interfaces and abstract classes
  • Practice encapsulation with access modifiers
  • Implement polymorphism examples

Stage 3: Core APIs & Utilities

  • Manipulate Strings and StringBuilder
  • Use wrapper classes (Integer, Double, etc.)
  • Work with arrays and utility methods (Arrays.sort, etc.)
  • Explore java.util tools (Math, Objects, etc.)

Stage 4: Collections Framework

  • Learn List, Set, Map, Queue interfaces
  • Queue, Deque, Java Streams
  • Use ArrayList, LinkedList, HashSet, TreeSet
  • Work with HashMap, TreeMap
  • Practice iterators and enhanced for-loop
  • Understand Comparable vs Comparator

Stage 5: Exception Handling

  • Use try-catch-finally
  • Differentiate checked vs unchecked exceptions
  • Create custom exceptions
  • Use try-with-resources

Stage 6: Java I/O and File Handling

  • Work with File, FileReader, FileWriter
  • Use BufferedReader/BufferedWriter
  • Understand byte vs character streams
  • Try serialization basics

Stage 7: Multithreading and Concurrency

  • Extend Thread class and implement Runnable
  • Understand thread lifecycle
  • Use synchronized, locks
  • Try wait(), notify(), notifyAll()
  • Learn ExecutorService and thread pools

Stage 8: Java 8+ Features

  • Write lambda expressions
  • Use functional interfaces
  • Work with Stream API
  • Try method references
  • Handle nulls with Optional

Stage 9: JVM Internals (Optional)

  • Learn Java memory model
  • Understand garbage collection basics
  • Explore class loading mechanisms
  • Research JIT compilation

πŸš€ Advanced Java Essentials

  • Reflection and Annotations
  • Lambda & Stream API mastery
  • java.time Date and Time API
  • Immutability and Records

πŸ’Ύ JDBC + JPA + Hibernate

  • JDBC basics
  • JPA (Java Persistence API)
  • Hibernate ORM
  • OneToMany, ManyToOne, etc.
  • Lazy vs Eager loading
  • JPQL / Criteria API
  • Transactions & Caching

🌱 Spring Framework

Spring Core

  • Dependency Injection
  • Beans and Scopes

Spring Boot

  • Auto-configuration
  • REST APIs with Spring Boot
  • Spring Data JPA (CRUD)
  • Validation with @Valid

Spring MVC

  • Controllers and Routing
  • Exception handling with @ControllerAdvice
  • Path params, query params, request body

πŸ” Spring Security

  • Auth & Authorization
  • In-memory & DB users
  • JWT authentication
  • OAuth2 login (Google/GitHub)

πŸ§ͺ Testing

  • JUnit 5
  • Spring Boot Test
  • Mockito mocking

🌍 REST API Best Practices

  • HTTP status codes
  • DTOs and response wrappers
  • Pagination, filtering, sorting
  • Swagger / OpenAPI docs

βš™οΈ Tools

  • Maven / Gradle
  • Postman
  • Lombok

πŸ—ƒοΈ Database Design

  • SQL basics (joins, indexes)
  • PostgreSQL / MySQL
  • Flyway / Liquibase

πŸ“¦ Docker + Deployment

  • Dockerize Spring Boot apps
  • Docker Compose
  • Heroku / Render / Railway deployment
  • CI/CD basics

⭐ Optional Skills

  • Spring Cloud (microservices)
  • Redis (cache/sessions)
  • RabbitMQ / Kafka (queues)
  • Monitoring with Micrometer + Prometheus + Grafana

About

Contains exercises for getting used to java syntax

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages