Resources
Curated collection of essential Java resources for learners and professional developers. From official documentation to community tools.
Official Documentation
Language Reference
Complete official documentation covering all Java SE versions and features.
- Comprehensive language specifications
- Updated for Java 21 LTS and beyond
- API documentation
- Tutorial and guides
Full API reference for Java Standard Edition.
- All standard library classes and methods
- Organized by module and package
- Detailed parameter and return type information
- Usage examples and code snippets
Java Language Specification (JLS)
Formal language specification for compiler implementers and advanced users.
- Precise language semantics
- Type system details
- Grammar and syntax rules
- Edge case behavior
Java Virtual Machine Specification (JVMS)
Specification for JVM implementers.
- Bytecode format
- Class file structure
- Runtime data areas
- Instruction set
JDK Enhancement Proposals
Java Enhancement Proposals tracking new features.
- Proposed features
- Implementation status
- Design rationale
- Target releases
Getting Started
Official beginner tutorials from Oracle.
- Installation guides
- First program tutorials
- Core concepts (OOP, collections, I/O)
- Step-by-step learning paths
Interactive REPL for Java experimentation.
- No compilation needed
- Instant feedback
- Quick prototyping
- Built into JDK
Development Tools
IDEs
Leading IDE for Java development with intelligent code assistance.
- Smart code completion
- Advanced refactoring tools
- Integrated debugger
- Build tool integration
- Free Community Edition available
Open-source IDE with extensive plugin ecosystem.
- Mature and stable
- Large plugin marketplace
- Java EE support
- Cross-platform
- Free and open-source
Apache-maintained IDE with excellent Maven support.
- Built-in Maven integration
- GUI builder for Swing
- Profiler included
- Multiple language support
- Free and open-source
Lightweight editor with Java extension pack.
- Extension Pack for Java - Complete Java tooling
- Syntax highlighting
- IntelliSense
- Debugging support
- Lighter than full IDE
Build Tools
Widely-adopted build automation and dependency management tool.
- Maven Central Repository - Largest Java library repository
- Convention over configuration
- Dependency management
- Plugin ecosystem
- Standardized project structure
Modern build tool with flexible Groovy/Kotlin DSL.
- Gradle User Manual - Comprehensive documentation
- Faster incremental builds
- Type-safe build scripts (Kotlin DSL)
- Multi-project builds
- Maven repository compatible
XML-based build tool for legacy projects.
- Flexible task-based builds
- Mature and stable
- Good for custom workflows
- Integration with Ivy for dependencies
Code Quality Tools
Enforces coding standards and conventions.
- Configurable rule sets
- IDE integration
- Maven/Gradle plugins
- Custom rule support
Source code analyzer for finding common programming flaws.
- Copy-paste detection
- Unused code detection
- Suboptimal code patterns
- Multiple language support
Static analysis tool for finding bugs (successor to FindBugs).
- 400+ bug patterns
- Low false-positive rate
- IDE plugins available
- Maven/Gradle integration
Continuous code quality inspection platform.
- Code smells detection
- Security vulnerability scanning
- Technical debt tracking
- Multi-language support
Frameworks and Libraries
Web Development
Comprehensive framework for enterprise Java applications.
- Dependency injection
- Aspect-oriented programming
- Transaction management
- MVC web framework
Opinionated framework for building production-ready applications quickly.
- Auto-configuration
- Embedded servers
- Production metrics
- Minimal XML configuration
Enterprise Java platform specification.
- Servlet API
- JAX-RS (REST)
- JPA (persistence)
- CDI (dependency injection)
- Multiple implementations (WildFly, Payara, TomEE)
Modern full-stack framework with compile-time dependency injection.
- Ahead-of-time compilation
- Low memory footprint
- Fast startup time
- Cloud-native features
Kubernetes-native Java framework tailored for GraalVM and HotSpot.
- Super-fast startup
- Low memory usage
- Developer joy features (live reload)
- Native compilation support
Database Access
JDBC (Java Database Connectivity)
Standard API for database access.
- Part of Java SE
- Direct SQL execution
- Connection pooling libraries available
- Database-agnostic
Leading object-relational mapping framework.
- JPA implementation
- Lazy loading
- Caching strategies
- HQL (Hibernate Query Language)
Standard API for object-relational mapping.
- Vendor-neutral
- Multiple implementations (Hibernate, EclipseLink)
- Annotation-based mapping
- JPQL query language
SQL mapping framework with custom SQL support.
- XML or annotation-based SQL
- Dynamic SQL generation
- Stored procedure support
- Simple to learn
Type-safe SQL query builder.
- Fluent API
- Database-first approach
- Generated classes
- Advanced type safety
Testing Frameworks
Leading testing framework for Java.
- Modular architecture
- Annotations for test lifecycle
- Assertions and assumptions
- Parameterized tests
- Extension model
Testing framework with advanced features.
- Flexible test configuration
- Parallel execution
- Data-driven testing
- Test dependencies
Mocking framework for unit tests.
- Simple and intuitive API
- Argument matchers
- Verification of interactions
- BDD-style syntax
Fluent assertions library.
- Readable assertions
- Rich error messages
- Strong typing
- IDE auto-completion friendly
Library for integration testing with Docker containers.
- Database containers
- Message brokers
- Cloud services simulation
- Automatic cleanup
Utility Libraries
Reusable Java components collection.
- Commons Lang - String manipulation, reflection
- Commons Collections - Enhanced collections
- Commons IO - I/O utilities
- Commons Math - Mathematics and statistics
Core libraries from Google.
- Collections utilities
- Caching
- Functional idioms
- String processing
- I/O utilities
Reduces boilerplate code with annotations.
- Automatic getters/setters
- Builders
- Logging
- Value objects
- IDE plugin required
Serialization
High-performance JSON processor.
- JSON parsing and generation
- Data binding
- Streaming API
- Extensive format support (XML, YAML, CSV)
Google’s JSON library.
- Simple API
- Good performance
- Flexible configuration
- Built-in support for generics
Google’s serialization format.
- Language-agnostic
- Binary format
- Schema evolution
- High performance
Community Resources
Learning Platforms
Official Oracle learning hub for Java developers.
- Free courses
- Interactive tutorials
- Video content
- Latest Java features
Comprehensive free online course from University of Helsinki.
- Beginner-friendly
- Hands-on exercises
- Automated testing
- No prerequisites
Interactive Java course.
- Browser-based coding
- Structured curriculum
- Projects and quizzes
- Certificate available (Pro)
Coursera - Java Programming and Software Engineering Fundamentals
Specialization from Duke University.
- Video lectures
- Programming assignments
- Peer-reviewed projects
- Certificate available
Blogs and News
Comprehensive Java tutorials and guides.
- Spring ecosystem focus
- Weekly newsletter
- In-depth articles
- Code examples on GitHub
Developer community with Java articles.
- Latest Java news
- Expert opinions
- Tutorial and guides
- Conference coverage
Enterprise software development news and articles.
- Trending topics
- Expert interviews
- Conference presentations
- Technical deep-dives
Java community site with tutorials and examples.
- Practical code examples
- Framework tutorials
- Best practices
- Weekly newsletter
Official news and views from the Java team at Oracle.
- OpenJDK updates
- Feature previews
- Community spotlight
- Podcast episodes
Community Forums
Q&A platform with massive Java community.
- Over 2 million questions
- Expert answers
- Code examples
- Searchable archive
Reddit community for Java developers.
- News and discussions
- Job postings
- Project showcases
- Weekly question threads
Official Oracle community resources.
- Java Champions program
- Java User Groups
- Community events
- Technical forums
Friendly beginner-focused Java forum.
- Helpful community
- Certification discussions
- Book promotions
- Career advice
Video Content
Official Java YouTube channel.
- Feature announcements
- Tutorial series
- Conference talks
- Developer interviews
Popular Java tutorial channel.
- Spring Framework focus
- Microservices architecture
- Clear explanations
- Hands-on projects
Modern Java development tutorials.
- Full-stack development
- Spring Boot projects
- Cloud deployment
- Best practices
Talks from Devoxx conferences worldwide.
- Expert speakers
- Cutting-edge topics
- Real-world case studies
- Community presentations
Books
Effective Java by Joshua Bloch
Essential guide to best practices (Third Edition covers Java 9-11).
- 90 best-practice items
- Language fundamentals
- Design patterns
- Concurrency and performance
Java: The Complete Reference by Herbert Schildt
Comprehensive reference covering Java 17.
- Fundamentals to advanced topics
- All standard APIs
- Clear examples
- Regularly updated
Head First Java by Kathy Sierra and Bert Bates
Beginner-friendly introduction with visual approach.
- Brain-friendly format
- Puzzles and exercises
- Visual learning
- Object-oriented focus
Core Java Volume I - Fundamentals by Cay S. Horstmann
In-depth fundamentals guide (12th edition covers Java 17).
- Comprehensive coverage
- Professional development focus
- Modern Java features
- Updated regularly
Clean Code by Robert C. Martin
Principles for writing maintainable code.
- Code quality principles
- Refactoring techniques
- Best practices
- Real-world examples
Java Concurrency in Practice by Brian Goetz
Definitive guide to concurrent programming.
- Thread safety
- Synchronization
- Performance optimization
- Best practices
Tools and Utilities
Package Repositories
Primary repository for Java libraries.
- Official open-source artifacts
- Millions of components
- Version history
- Dependency information
- Search and documentation
Universal artifact repository manager.
- Private repository hosting
- Proxy for Maven Central
- Build integration
- Enterprise features
Build GitHub repositories as Maven/Gradle dependencies.
- Automatic builds
- No manual publishing
- Easy integration
- Version tags support
Development Tools
Advanced profiling and diagnostics tool.
- Flight Recorder integration
- Low overhead profiling
- Memory analysis
- Thread monitoring
Visual tool for monitoring and troubleshooting Java applications.
- CPU and memory profiling
- Thread analysis
- Heap dump analysis
- Plugin support
Commercial Java profiler.
- CPU profiling
- Memory leak detection
- Database profiling
- Thread analysis
Online Compilers
Online Java compiler and IDE.
- Multiple Java versions
- Save and share code
- Collaboration features
- API access
Collaborative browser-based IDE.
- Real-time collaboration
- Package management
- Instant setup
- Free tier available
Simple online Java compiler.
- Quick testing
- No registration required
- Multiple Java versions
- Clean interface
Code Snippets and Examples
Tools for code development and analysis.
- JMH (benchmarking)
- Jtreg (regression tests)
- JCov (code coverage)
Curated list of Java frameworks, libraries, and tools.
- Libraries organized by category
- Active projects only
- Regular updates
- Community-driven
Official Social Media
Official Java X account.
- News and updates
- Community highlights
- Event announcements
- Developer spotlights
Official Java LinkedIn page.
- Professional content
- Job opportunities
- Industry insights
- Product announcements
Daily Java articles in December.
- Community contributions
- Diverse topics
- Holiday tradition
- Archive available
Contributing to Java
Open-source Java Development Kit implementation.
- Source code access
- Contribute patches
- Mailing lists
- Project governance
GitHub mirrors of OpenJDK projects.
- Browse source code
- Submit issues (via JIRA)
- Follow development
- Multiple project repos
Formal process for developing Java specifications.
- JSR proposals
- Expert groups
- Public review
- Specification development
Official coding standards.
- Naming conventions
- Formatting rules
- Documentation comments
- File organization
Platform-Specific Resources
Java SE (Standard Edition)
Official JDK downloads.
- Latest releases
- LTS versions
- Platform-specific installers
- Source code
Open-source JDK builds from Oracle.
- Early access builds
- Archive releases
- Cross-platform
- Free for production
High-quality OpenJDK binaries.
- Long-term support
- Multiple versions
- Regular updates
- Free TCK-certified builds
Production-ready OpenJDK distribution from AWS.
- No-cost LTS
- Performance optimizations
- Security patches
- Multi-platform support
Java EE / Jakarta EE
Enterprise Java specifications and APIs.
- Servlet
- REST (JAX-RS)
- Persistence (JPA)
- CDI
Flexible and lightweight application server.
- Jakarta EE implementation
- Microservices support
- Cloud-ready
- Active community
Java for Mobile
Official Android development documentation.
- Android SDK
- App architecture
- UI components
- Best practices
Learn More
Comprehensive Learning Path:
- Initial Setup - Get started with Java
- Quick Start - Overview of key features
- Beginner Tutorial - Comprehensive fundamentals
- How-To Guides - Problem-solving guides
- Cookbook - Practical recipes
Reference Materials:
- Cheat Sheet - Quick syntax reference
- Glossary - Java terminology