Fading Coder

One Final Commit for the Last Sprint

Java Method Overloading

Method overloading in Java alows a class to have multiple methods with the same name but different parameter lists. It is a form of static (compile-time) polymorphism and is used when several methods perform similar tasks but with different input types or quantities. Why Use Method Overloading? With...

Establishing Dual Server Connections in Java

A common scenario in distributed systems involves a Java application acting as a client to two separate servers, or one server process that needs to accept connections from two disitnct clients. The core mechanism relies on the ServerSocket class for accepting incoming connections and the Socket cla...

Getting Started with Solon: A Lightweight Alternative to Spring Boot

Solon is designed as a lightweight, high-performance application framework offering significant improvements in startup time, concurrency handling, and resource consumption compared to established alternatives. It supports various Java runtimes from Java 8 up to the latest LTS versions. Core Concept...

Essential Java APIs for Online Judge Practice

Input and Output Operatinos Basic Scanner Usage import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner reader = new Scanner(System.in); int elements = reader.nextInt(); } } Fixed-Length Input Reading Scanner inputReader = new Scanner(System.in); int count...

Key Features and API Changes in Java Development Kit 11

Overview of JDK 11 Java Development Kit 11 represents a significant Long-Term Support (LTS) release, introducing critical updates that enhance runtime performance, modernize networking capabilities, and refine syntax options for developers. Core Feature Analysis 1. ZGC: Low-Latency Garbage Collectio...

Aspect-Oriented Programming: Proxy Factory and Annotation-Based AOP Implementation

Dynamic Aspect Weaving AOP fundamentally separates business logic from cross-cutting concerns. This separation provides several advantages: Aspect code needs to be written only once Developers focus solely on business logic without duplicating cross-cutting code Aspects are dynamically woven into bu...

Adding Two Numbers Represented by Linked Lists

Problem Description Given two non-empty linked lists representing non-negative integres in reverse digit order, combine the numbers and return the result as a linked list. Basic Iterative Approach class Solution { public ListNode addTwoNumbers(ListNode first, ListNode second) { ListNode dummyHead =...

Binary Tree Algorithm Challenges: Solving Common Interview Problems in Java

1. Verifying Identical Binary Trees Given two binary trees, determine if they are structurally identical with matching node values at every position. Empty trees are considered identical. Analysis: The solution requires recursive comparison of corresponding nodes. When both nodes are null, they matc...

Refactoring a Struts2 Authentication System with Flat-File Storage

System Architecture and Optimization Strategy Implementing user authentication using Apache Struts 2 and flat-file storage is a common exercise for understanding the Model-View-Controller (MVC) pattern. While production environments typically rely on relational databases, optimizing a TXT-based user...

Programming Competition Solutions: RAICOM 2024 Provincial Contest

Problem 1: Free Drink Days **Problem Description:**Given N consecutive days of temperature and the starting day of the week, calculate how many days you can get free drinks (when temperature ≥ 35°C) and how many days you couldn't get free drinks specifically because it was Thursday. **Input Format:*...