Welcome to my Java learning repository! Here, I document my journey of learning Java through various personal projects, from very small to big.
Java is a versatile and robust programming language renowned for its compiled nature, which ensures that Java code is transformed into bytecode, allowing it to run efficiently on any platform equipped with a Java Virtual Machine (JVM).
Embracing the principles of Object-Oriented Programming (OOP), Java promotes modular and reusable code through encapsulation, inheritance, and polymorphism.
One of Java's standout features is its platform independence, exemplified by the "Write Once, Run Anywhere" (WORA) philosophy. This attribute stems from the portability of Java bytecode, enabling Java applications to seamlessly execute on diverse systems without modification.
As a high-level language, Java simplifies complex tasks, offering a comprehensive standard library and automatic memory management, reducing the risk of memory-related errors. Its class-based structure fosters a structured and organized codebase, enhancing readability and maintainability.
With its commitment to security, performance, and portability, Java has become a go-to choice for developing a wide range of applications, from web and mobile to enterprise-level systems.
By working on these projects, I aim to achieve the following learning objectives:
- Understand the basics of Java programming.
- Gain proficiency in Java.
- Apply object-oriented principles in real-world scenarios.
The repository uses the following dependencies:
- OpenJDK - Version 11.0.21
To run these projects, ensure you have Java installed:
apt update
apt upgrade
apt install default-jdk
root@ea41b7dd36c8:~# java -version
openjdk version "11.0.21" 2023-10-17
OpenJDK Runtime Environment (build 11.0.21+9-post-Ubuntu-0ubuntu122.04)
OpenJDK 64-Bit Server VM (build 11.0.21+9-post-Ubuntu-0ubuntu122.04, mixed mode)
If the version matches, you're good to go!