CONQUERING FUNDAMENTAL ARCHITECTURE IN JAVA: A COMPREHENSIVE EXPLANATION