📖 About Java
Java is a class-based, object-oriented programming language designed to have as few implementation dependencies as possible. It's one of the most popular programming languages, especially for enterprise applications and Android development.
🎯 Best For
- Enterprise applications
- Android mobile development
- Big data processing (Hadoop, Spark)
- Web applications with Spring Boot
- Distributed systems and microservices
🔧 Key Features
- Records for immutable data carriers
- Sealed classes for restricted inheritance
- Pattern matching for instanceof
- Streams API for functional programming
- Optional type for null safety
- Strong ecosystem and tooling
🛠️ Development Tools
Build
mvn clean install
Test
mvn test
Coverage
mvn jacoco:report
Run
mvn spring-boot:run
📄 Package Contents (7 files)
AGENTS_RULES.md
Complete AI agent rules (universal)
- JAVA-specific best practices
- TDD workflow (Red-Green-Refactor)
- DDD principles and patterns
- Git workflow and commit format
- Code quality principles
.cursorrules
Quick reference for Cursor IDE
- Essential rules summary
- Links to full documentation
- Optimized for quick loading
.gitignore
Git exclusions
- JAVA-specific patterns
- Build artifacts
- IDE configuration files
- Dependency directories
AGENTS.md
Quick reference guide
- Common patterns
- Best practices summary
- Quick troubleshooting
README.md
Project template with examples
- Setup instructions
- Sample code and structure
- Testing examples
- Build and run commands
CODE_QUALITY_PRINCIPLES.md
Quality principles and best practices
- Avoid default values (fail-fast)
- Consistency across code paths
- Extract reusable functions
- JAVA-specific examples
CONTRIBUTING.md
Contribution guidelines
- TDD workflow (Red-Green-Refactor)
- Git commit format
- Code review process
- Testing requirements (90% coverage)
💻 Code Examples
Record Types
public record User(String name, String email, int age) {
public User {
if (age < 0) {
throw new IllegalArgumentException("Age must be positive");
}
}
}
Sealed Classes
public sealed interface Result<T, E>
permits Ok, Error {
}
public record Ok<T, E>(T value) implements Result<T, E> {}
public record Error<T, E>(E error) implements Result<T, E> {}
Pattern Matching
if (obj instanceof String s) {
System.out.println(s.toUpperCase());
} else if (obj instanceof Integer i) {
System.out.println(i * 2);
}