This repository contains a collection of Java projects and code samples showcasing my skills and experience in Java development. It serves as a portfolio to demonstrate my proficiency in various aspects of Java programming.
Project 1: OOP Physics
Description: This project demonstrates my ability to combine physics with object oriented programming. It showcases my skills in implementing graphics, statically distributed in 3D space.
Project 2: Simple Library
Description: This project demonstrates my ability to using private fields, sorting and storing books. It showcases my skills in implementing orders and sorting.
Project 3: Image Processing | Magpies
Description: The Image Processing project in Java focuses on detecting and removing specific patterns (referred to as "magpies") from an input image. It provides functionalities to load an image, convert it into a binary array, search for magpies using a reference image, and generate a clear image with the magpies removed.
Project 4: Binary Maze
Description: The Binary Maze project in Java aims to solve a maze represented as a text file. It provides functionality to load the maze, find a path from the start to the finish point, and display the solution. The program uses depth-first search and backtracking algorithms to navigate through the maze and find the optimal path.
Project 5: Plagiarism Detector
Description: This Java program detects plagiarism among scripts in a directory by comparing their similarity using the Hamming distance algorithm. It identifies copied or identical lines and displays the average Hamming distance and the number of identical lines.
Project 6: Multithreading
Description: This project calculates the sum of an array using multithreading . It involves dividing the array into partial sums calculated by different threads. The total sum is then obtained by combining these partial sums.
Project 7: Console Text Buffering and File Logging
Description: Implement a program to buffer console text and store it in a rolling log file system. The program creates a "data" directory, saves text in "log0.txt", and rolls logs from "log0.txt" to "log5.txt". It handles exceptions for file access and removal.
In addition to the projects, this repository also includes a collection of Java code samples that showcase my coding style, problem-solving skills, and familiarity with Java best practices. These samples cover various topics, such as:
- Physics: Java class representing a system of N point electric charges, statically distributed in 3D space.
- Simple Library: Java class Book containing three private fields and improving projects with using methods.
Feel free to explore the code samples to get a better understanding of my coding abilities and approach.
You are welcome to browse through the projects and code samples in this repository. If you find something useful or interesting, feel free to fork the repository and adapt the code to your needs. Contributions, suggestions, and improvements are also welcome. Please follow the guidelines mentioned in the CONTRIBUTING.md file if you wish to contribute.
If you have any questions or would like to discuss any of the projects or code samples, please feel free to reach out to me. You can contact me via email at [email protected]
Thank you for visiting my Java portfolio repository!