← Back to Main | Web Study Repository
This directory contains Java programming language study materials, sample applications, and framework implementations. Java is a high-level, class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible.
- Spring: Enterprise-grade framework for building Java applications
- Spark with Hadoop: Apache Spark with Hadoop integration examples
- Spark with Beam: Apache Beam data processing pipelines
- Samples: Core Java language examples and utilities
- Data structures and algorithms implementations
- Concurrency and threading examples
- File I/O and data processing utilities
- REST client implementations
- Game implementations (PingPong, RubiksCube)
- HIVE: Thermostat monitoring demo comparing Reactive Stack vs Virtual Threads
- Yelp AI Assistant: Yelp-style AI assistant implementation in Java (Spring Boot)
- Java Development Kit (JDK) 11 or higher
- Maven 3.6+ for dependency management
- IDE of choice (IntelliJ IDEA, Eclipse, VS Code)
-
Install Java JDK
# On Ubuntu/Debian sudo apt update sudo apt install openjdk-11-jdk # On macOS with Homebrew brew install openjdk@11 # Verify installation java -version javac -version
-
Install Maven
# On Ubuntu/Debian sudo apt install maven # On macOS with Homebrew brew install maven # Verify installation mvn -version
cd java/samples
mvn compile
mvn exec:java -Dexec.mainClass="Application"cd java/spring/spark-hadoop
mvn clean install
mvn exec:java -Dexec.mainClass="HadoopSparkApplication"Each sample in the samples/ directory can be compiled and run independently:
# Compile a specific Java file
javac samples/Application.java
# Run the compiled class
java -cp samples ApplicationNavigate to the specific Spring project directory and use Maven commands:
cd java/spring/spark-beam
mvn spring-boot:runjava/
├── README.md # This file
├── samples/ # Pure Java language examples
│ ├── Application.java # Main application example
│ ├── Combination.java # Combinatorial algorithms
│ ├── SortingAlgorithms.java # Sorting implementations
│ ├── StringManipulations.java # String processing utilities
│ ├── pom.xml # Maven configuration
│ └── ... # Additional Java samples
└── spring/ # Spring framework examples
├── spark-hadoop/ # Spark + Hadoop integration
└── spark-beam/ # Apache Beam pipelines
- Core Java Concepts: OOP principles, collections, generics, lambdas
- Concurrency: Thread management, executors, concurrent collections
- I/O Operations: File handling, streams, serialization
- Network Programming: REST clients, socket programming
- Data Processing: Algorithms, data structures, stream processing
- Framework Integration: Spring ecosystem, Apache Spark, Apache Beam
- Code Style: Follow Java naming conventions and coding standards
- Documentation: Include javadoc comments for public methods and classes
- Testing: Write unit tests using JUnit for new functionality
- Dependencies: Use Maven for dependency management
- Examples: Provide clear, runnable examples with sample data
- Place pure Java examples in the
samples/directory - Add framework-specific examples in appropriate subdirectories under their framework folder
- Update this README with new content descriptions
- Ensure all code compiles and runs successfully
- Use meaningful variable and method names
- Include error handling where appropriate
- Follow the single responsibility principle
- Write clean, readable code with appropriate comments