Skip to content

Ammari-Youssef/ProductManagment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Java SE 17 – Practice Repository

This repository contains my hands-on practice while preparing for the Oracle Certified Professional: Java SE 17 Developer exam.
Each branch corresponds to a specific module or concept from the certification track.
The goal is to build a solid understanding of the Java language from fundamentals to advanced features.


📚 Modules & Branch Structure

Below is the complete mapping of modules and the corresponding branches where applicable.


🔹 Module 1 – Introduction to Java

Concepts:

  • Java origins, ecosystem, and use cases
  • Platform independence and provider neutrality
  • Object-oriented programming fundamentals
  • Java syntax and coding conventions
  • main method structure
  • Compilation & execution workflow (javac / java)

🔹 Module 2 – Primitive Types, Operations & Flow Control

Concepts:

  • Primitive types and literals
  • Operators and primitive casting
  • Math class usage
  • Flow control (if, switch, loops)
  • JShell for rapid prototyping

🔹 Module 3 – Text, Date/Time & Numeric Objects

Concepts:

  • String, text blocks, StringBuilder
  • Wrapper classes
  • Conversions between Strings and primitives
  • BigDecimal
  • Date/time API (LocalDate, LocalDateTime, Duration, etc.)
  • Localization and formatting (Locale, NumberFormat, DateTimeFormatter)

🔹 Module 4 – Classes and Objects

Branch: practice-4
Concepts:

  • Classes & objects
  • Methods, fields, constructors
  • Access modifiers
  • Object lifecycle and memory basics

🔹 Module 5 – Improved Class Design

Branch: practice-5
Concepts:

  • Method overloading
  • Constructors & initialization
  • Encapsulation & immutability
  • Enumerations (enum)
  • Parameter passing (pass-by-value)
  • Memory allocation & cleanup (stack vs heap)

🔹 Module 6 – Inheritance, Records & Modern OO

Branch: practice-6
Concepts:

  • Class inheritance & polymorphism
  • Method overriding
  • Records
  • Sealed classes
  • Pattern matching with instanceof

🔹 Module 7 – Interfaces & Generics

Branch: practice-7-interfaces-generics
Concepts:

  • Interfaces, default & static methods
  • Functional interfaces basics
  • Generics (classes, methods, bounded types)
  • Polymorphism with abstraction

🔹 Module 8 – Arrays & Loops

Branch: practice-8-arrays-loops
Concepts:

  • Arrays (1D/2D)
  • Looping constructs
  • Basic data iteration and transformations

🔹 Module 9 – Collections Framework

Branch: practice-9-collections
Concepts:

  • Collections API: List, Set, Map
  • Iterators
  • Sorting with Comparator & Comparable

🔹 Module 10 – Nested Classes & Lambda Expressions

Branch: practice-10-nested-classes-and-lambda-expressions
Concepts:

  • Inner & nested classes
  • Anonymous classes
  • Lambda expressions
  • Functional programming patterns

🔹 Module 11 – Java Streams API

Branch: practice-11-Java-Streams-API
Concepts:

  • Stream pipelines
  • Intermediate operations (map, filter, sorted, etc.)
  • Terminal operations (collect, reduce, etc.)
  • Functional data processing

🔹 Module 12 – Exception Handling, Logging & Debugging

(Current module)
Concepts:

  • Exception hierarchy
  • Throwing & handling exceptions
  • Custom exceptions
  • try-with-resources
  • Logging APIs (java.util.logging, SLF4J basics)
  • Debugging techniques

🔹 Module 13 – Java I/O API (Upcoming)

Concepts:

  • Streams (byte & character)
  • File I/O
  • NIO.2 (Path, Files, directory operations)
  • Serialization basics

🔹 Module 14 – Concurrency & Multithreading (Upcoming)

Concepts:

  • Threads & executors
  • Synchronization
  • Concurrency utilities (CompletableFuture, ConcurrentHashMap)
  • Thread-safe patterns

🔹 Module 15 – Modules & Deployment (Upcoming)

Concepts:

  • Java Platform Module System (JPMS)
  • module-info.java
  • Packaging & deployment
  • JAR structure

📎 Appendixes (Reference Topics)

A – Annotations

  • Built-in & custom annotations
  • Retention policies
  • Target types

B – JDBC (Java Database Connectivity)

  • Connecting to databases
  • Statements & prepared statements
  • Transactions

C – Java Security

  • Cryptography basics
  • Secure coding practices
  • Permissions & policies

D – Advanced Generics

  • Wildcards
  • Type inference
  • Generic patterns

E – Oracle Cloud Deployment

  • Packaging applications
  • Deploying Java workloads on OCI

F – Miscellaneous Java Topics

  • Additional utilities and APIs
  • Best practices and edge cases

🎯 Repository Purpose

  • Strengthen core and advanced Java SE knowledge
  • Track progress through the Oracle Java SE 17 certification curriculum
  • Serve as a long-term reference for clean, modular Java code
  • Complement real-world project experience (Spring Boot, microservices, etc.)

🛠️ Environment

  • Java 17
  • Pure Java SE
  • Works with IntelliJ IDEA, VS Code.
  • Compilable with javac and runnable with java

📌 Notes

This repository is not a full application but a structured learning workspace.
Future updates will include per-branch READMEs summarizing the concepts practiced.

About

Java SE 17 practices.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages