it-moisesmoreno / java

Welcome to my Java self-study repository! This repository documents my journey of learning and practicing Java, covering various beginner to advanced topics and exercises.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Java Self-Study Repository πŸ“šπŸ’»

Welcome to my Java self-study repository! This repository documents my journey of learning and practicing Java, covering various beginner to advanced topics and exercises.

Table of Contents πŸ“‘

Introduction 🌟

This repository contents what I have learned about the fundamentals of Java such as basic syntax, data types, variables, conditionals, functions, data structures, packages, etc. as part of my self-learning.

As well of advanced topics such as Memory Management, Collection Framework, Serialization, etc.

Most of the examples, exercises and problems are from GeeksforGeeks site. Others from different part of Internet.

The guide followed for this repository has been the Java Developer roadmap topics from https://roadmap.sh/java

Topics Covered πŸ“

  • Fundamentals
    • Basic Syntax
    • Conditionals
    • Data Structures
    • Datatypes and variables
    • Exception handling
    • Loops
    • OOP
    • Package examples
  • Advanced
    • Basics of threads
    • Collection framework
    • Generics
    • JVM
    • Networking and sockets
    • Serialization
    • Streams

Project Structure πŸ—‚οΈ

The repository is organized into folders, each representing a different topic or project. Here's a brief overview:

src/main/java/com/mycompany/java/
β”‚  
β”œβ”€β”€ advanced/
β”‚   β”œβ”€β”€ basics-of-threads/
β”‚       β”œβ”€β”€ MyThread.java
β”‚       β”œβ”€β”€ MyThread1.java
β”‚       β”œβ”€β”€ ThreadPriority.java
β”‚       β”œβ”€β”€ ThreadState.java
β”‚   β”œβ”€β”€ collection-framework/
β”‚       β”œβ”€β”€ custom-data-structure/
β”‚           β”œβ”€β”€ Main.java
β”‚       β”œβ”€β”€ list-interface
β”‚           β”œβ”€β”€ arraylist/
β”‚               β”œβ”€β”€ TestJavaCollection1.java
β”‚           β”œβ”€β”€ TestJavaCollection1.java
β”‚       β”œβ”€β”€ set-interface
β”‚           β”œβ”€β”€ TestJavaCollection1.java
β”‚       β”œβ”€β”€ CustomIterator.java
β”‚       β”œβ”€β”€ Main.java
β”‚   β”œβ”€β”€ generics/  
β”‚       β”œβ”€β”€ Test.java
β”‚   β”œβ”€β”€ jvm/
β”‚       β”œβ”€β”€ ClassLoaderExample.java
β”‚       β”œβ”€β”€ Test.java
β”‚       β”œβ”€β”€ TestGarbage1.java
β”‚   β”œβ”€β”€ networking-and-sockets/
β”‚       β”œβ”€β”€ Client.java
β”‚       β”œβ”€β”€ Server.java
β”‚   β”œβ”€β”€ serialization/
β”‚       β”œβ”€β”€ Test.java
β”‚   β”œβ”€β”€ streams/
β”‚       β”œβ”€β”€ Demo.java
β”‚       β”œβ”€β”€ JavaStreamExample.java
β”œβ”€β”€ fundamentals/
β”‚   β”œβ”€β”€ conditionals/
β”‚       β”œβ”€β”€ Demo001.java
β”‚       β”œβ”€β”€ Demo002.java
β”‚       β”œβ”€β”€ NestedSwitch.java
β”‚   β”œβ”€β”€ data-structures/
β”‚       β”œβ”€β”€ arrays/
β”‚           β”œβ”€β”€ coding-problems/
β”‚               β”œβ”€β”€ level1/
β”‚                   β”œβ”€β”€ Problem7.java
β”‚                   β”œβ”€β”€ Problem8.java
β”‚                   β”œβ”€β”€ Problem9.java
β”‚                   β”œβ”€β”€ Problem10.java
β”‚                   β”œβ”€β”€ ReverseArray.java
β”‚                   β”œβ”€β”€ Sort012.java
β”‚                   β”œβ”€β”€ SortArray.java
β”‚                   β”œβ”€β”€ SortArrayWithoutArraysSort.java
β”‚                   β”œβ”€β”€ SubarrayWithGivenSum.java
β”‚           β”œβ”€β”€ ArrayExample.java
β”‚           β”œβ”€β”€ Demo001.java
β”‚       β”œβ”€β”€ graph/
β”‚           β”œβ”€β”€ coding-problems/
β”‚               β”œβ”€β”€ level1/
β”‚                   β”œβ”€β”€ Problem1.java
β”‚                   β”œβ”€β”€ Problem2.java
β”‚                   β”œβ”€β”€ Problem3.java
β”‚       β”œβ”€β”€ linked-list/
β”‚           β”œβ”€β”€ coding-problems/
β”‚               β”œβ”€β”€ flatten-linked-list/
β”‚                   β”œβ”€β”€ FlattenLinkedList.java
β”‚               β”œβ”€β”€ middle-of-linked-list/
β”‚                   β”œβ”€β”€ MiddleOfLinkedList.java
β”‚               β”œβ”€β”€ problem1/
β”‚                   β”œβ”€β”€ Problem1.java
β”‚               β”œβ”€β”€ problem2/
β”‚                   β”œβ”€β”€ Problem2.java
β”‚               β”œβ”€β”€ problem3/
β”‚                   β”œβ”€β”€ LinkedList.java
β”‚               β”œβ”€β”€ problem4/
β”‚                   β”œβ”€β”€ Problem4.java
β”‚               β”œβ”€β”€ problem5/
β”‚                   β”œβ”€β”€ Problem5.java
β”‚           β”œβ”€β”€ merge-sort/
β”‚           β”œβ”€β”€ DLL.java
β”‚           β”œβ”€β”€ LinkedList.java
β”‚           β”œβ”€β”€ SinglyLinkedList.java
β”‚       β”œβ”€β”€ queue/
β”‚           β”œβ”€β”€ coding-problems/
β”‚               β”œβ”€β”€ problem1/
β”‚                   β”œβ”€β”€ GfG.java
β”‚           β”œβ”€β”€ Queue.java
β”‚           β”œβ”€β”€ QueueAsLinkedList.java
β”‚       β”œβ”€β”€ stack/
β”‚           β”œβ”€β”€ Stack.java
β”‚           β”œβ”€β”€ StackAsLinkedList.java
β”‚       β”œβ”€β”€ tree/
β”‚           β”œβ”€β”€ binary-search-tree/
β”‚               β”œβ”€β”€ BinarySearchTree.java
β”‚           β”œβ”€β”€ binary-tree/
β”‚               β”œβ”€β”€ deletion/
β”‚                   β”œβ”€β”€ GFG.java
β”‚                   β”œβ”€β”€ GFG2.java
β”‚               β”œβ”€β”€ find-the-maximum-depth-or-height/
β”‚                   β”œβ”€β”€ BinaryTree.java
β”‚                   β”œβ”€β”€ GFG.java
β”‚               β”œβ”€β”€ insertion/
β”‚                   β”œβ”€β”€ GFG.java
β”‚               β”œβ”€β”€ level-order-tree-traversal/
β”‚                   β”œβ”€β”€ BinaryTree.java
β”‚                   β”œβ”€β”€ BinaryTree1.java
β”‚               β”œβ”€β”€ BinaryTree1.java
β”‚               β”œβ”€β”€ BinaryTree2.java
β”‚               β”œβ”€β”€ BinaryTree3.java
β”‚               β”œβ”€β”€ Main.java
β”‚               β”œβ”€β”€ coding-problems
β”‚                   β”œβ”€β”€ level1
β”‚                       β”œβ”€β”€ problem1/
β”‚                           β”œβ”€β”€ BinaryTree.java
β”‚                       β”œβ”€β”€ problem2/
β”‚                           β”œβ”€β”€ BinaryTree.java
β”‚                           β”œβ”€β”€ BinaryTree1.java
β”‚                       β”œβ”€β”€ problem3/
β”‚                           β”œβ”€β”€ BinaryTree.java
β”‚                       β”œβ”€β”€ problem4/
β”‚                           β”œβ”€β”€ BinaryTree.java
β”‚                       β”œβ”€β”€ problem5/
β”‚                           β”œβ”€β”€ BinaryTree.java
β”‚           β”œβ”€β”€ Tree.java
β”‚   β”œβ”€β”€ data-types-and-variables/
β”‚       β”œβ”€β”€ Demo001.java
β”‚       β”œβ”€β”€ Demo002.java
β”‚   β”œβ”€β”€ exception-handling/
β”‚       β”œβ”€β”€ Demo001.java
β”‚       β”œβ”€β”€ Demo002.java
β”‚       β”œβ”€β”€ Demo003.java
β”‚       β”œβ”€β”€ SampleException.java
β”‚   β”œβ”€β”€ loops/
β”‚       β”œβ”€β”€ ForEachExample.java
β”‚       β”œβ”€β”€ ForEachExample1.java
β”‚       β”œβ”€β”€ ForExample.java
β”‚       β”œβ”€β”€ ForExample1.java
β”‚       β”œβ”€β”€ LabeledForExample.java
β”‚       β”œβ”€β”€ LabeledForExample2.java
β”‚       β”œβ”€β”€ NestedForExample.java
β”‚       β”œβ”€β”€ PyramidExample.java
β”‚       β”œβ”€β”€ PyramidExample2.java
β”‚       β”œβ”€β”€ WhileExample1.java
β”‚       β”œβ”€β”€ WhileExample2.java
β”‚   β”œβ”€β”€ oop/
β”‚       β”œβ”€β”€ abstraction/
β”‚           β”œβ”€β”€ Main.java
β”‚       β”œβ”€β”€ inheritance/
β”‚           β”œβ”€β”€ Main.java
β”‚           β”œβ”€β”€ Main3.java
β”‚       β”œβ”€β”€ interfaces/
β”‚           β”œβ”€β”€ gfg.java
β”‚           β”œβ”€β”€ TestClass.java
β”‚           β”œβ”€β”€ TestClass2.java
β”‚       β”œβ”€β”€ polymorphism/
β”‚           β”œβ”€β”€ Honda3.java
β”‚       β”œβ”€β”€ Calculation.java
β”‚       β”œβ”€β”€ Test.java
β”‚       β”œβ”€β”€ TestClass.java
β”‚       β”œβ”€β”€ TestClass3.java
β”‚       β”œβ”€β”€ TestClass4.java
β”‚   β”œβ”€β”€ package-examples/
β”‚       β”œβ”€β”€ my-pack/
β”‚           β”œβ”€β”€ B.java
β”‚       β”œβ”€β”€ my-pack/
β”‚           β”œβ”€β”€ A.java
β”‚       β”œβ”€β”€ Simple.java
β”‚       β”œβ”€β”€ StaticImportDemo.java
β”‚   β”œβ”€β”€ BasicSyntax.java

How to Use πŸ› οΈ

  1. Clone the repository to your local machine using:
    git clone https://github.com/it-moisesmoreno/java.git
  2. Navigate to the topic folder you are interested in.
  3. Open the Java files in your preferred code editor to explore the examples and code.

Resources πŸ“š

GeeksForGeeks

Contributing 🀝

This repository is primarily for my personal learning, but if you'd like to contribute or provide suggestions, feel free to open an issue or submit a pull request.

License πŸ“œ

This project is licensed under the MIT License. See the LICENSE file for more details.

Feel free to further customize it as needed!

About

Welcome to my Java self-study repository! This repository documents my journey of learning and practicing Java, covering various beginner to advanced topics and exercises.

License:MIT License


Languages

Language:Java 100.0%