Resources

Curated collection of essential Java resources for learners and professional developers. From official documentation to community tools.

Official Documentation

Language Reference

Java Platform Documentation

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

Java SE API Documentation

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

OpenJDK JEP Index

Java Enhancement Proposals tracking new features.

  • Proposed features
  • Implementation status
  • Design rationale
  • Target releases

Getting Started

Java Tutorials (Oracle)

Official beginner tutorials from Oracle.

  • Installation guides
  • First program tutorials
  • Core concepts (OOP, collections, I/O)
  • Step-by-step learning paths

JShell User Guide

Interactive REPL for Java experimentation.

  • No compilation needed
  • Instant feedback
  • Quick prototyping
  • Built into JDK

Development Tools

IDEs

IntelliJ IDEA

Leading IDE for Java development with intelligent code assistance.

  • Smart code completion
  • Advanced refactoring tools
  • Integrated debugger
  • Build tool integration
  • Free Community Edition available

Eclipse IDE

Open-source IDE with extensive plugin ecosystem.

  • Mature and stable
  • Large plugin marketplace
  • Java EE support
  • Cross-platform
  • Free and open-source

NetBeans

Apache-maintained IDE with excellent Maven support.

  • Built-in Maven integration
  • GUI builder for Swing
  • Profiler included
  • Multiple language support
  • Free and open-source

Visual Studio Code

Lightweight editor with Java extension pack.

  • Extension Pack for Java - Complete Java tooling
  • Syntax highlighting
  • IntelliSense
  • Debugging support
  • Lighter than full IDE

Build Tools

Maven

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

Gradle

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

Apache Ant

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

Checkstyle

Enforces coding standards and conventions.

  • Configurable rule sets
  • IDE integration
  • Maven/Gradle plugins
  • Custom rule support

PMD

Source code analyzer for finding common programming flaws.

  • Copy-paste detection
  • Unused code detection
  • Suboptimal code patterns
  • Multiple language support

SpotBugs

Static analysis tool for finding bugs (successor to FindBugs).

  • 400+ bug patterns
  • Low false-positive rate
  • IDE plugins available
  • Maven/Gradle integration

SonarQube

Continuous code quality inspection platform.

  • Code smells detection
  • Security vulnerability scanning
  • Technical debt tracking
  • Multi-language support

Frameworks and Libraries

Web Development

Spring Framework

Comprehensive framework for enterprise Java applications.

  • Dependency injection
  • Aspect-oriented programming
  • Transaction management
  • MVC web framework

Spring Boot

Opinionated framework for building production-ready applications quickly.

  • Auto-configuration
  • Embedded servers
  • Production metrics
  • Minimal XML configuration

Jakarta EE (formerly Java EE)

Enterprise Java platform specification.

  • Servlet API
  • JAX-RS (REST)
  • JPA (persistence)
  • CDI (dependency injection)
  • Multiple implementations (WildFly, Payara, TomEE)

Micronaut

Modern full-stack framework with compile-time dependency injection.

  • Ahead-of-time compilation
  • Low memory footprint
  • Fast startup time
  • Cloud-native features

Quarkus

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

Hibernate ORM

Leading object-relational mapping framework.

  • JPA implementation
  • Lazy loading
  • Caching strategies
  • HQL (Hibernate Query Language)

Jakarta Persistence (JPA)

Standard API for object-relational mapping.

  • Vendor-neutral
  • Multiple implementations (Hibernate, EclipseLink)
  • Annotation-based mapping
  • JPQL query language

MyBatis

SQL mapping framework with custom SQL support.

  • XML or annotation-based SQL
  • Dynamic SQL generation
  • Stored procedure support
  • Simple to learn

jOOQ

Type-safe SQL query builder.

  • Fluent API
  • Database-first approach
  • Generated classes
  • Advanced type safety

Testing Frameworks

JUnit 5

Leading testing framework for Java.

  • Modular architecture
  • Annotations for test lifecycle
  • Assertions and assumptions
  • Parameterized tests
  • Extension model

TestNG

Testing framework with advanced features.

  • Flexible test configuration
  • Parallel execution
  • Data-driven testing
  • Test dependencies

Mockito

Mocking framework for unit tests.

  • Simple and intuitive API
  • Argument matchers
  • Verification of interactions
  • BDD-style syntax

AssertJ

Fluent assertions library.

  • Readable assertions
  • Rich error messages
  • Strong typing
  • IDE auto-completion friendly

Testcontainers

Library for integration testing with Docker containers.

  • Database containers
  • Message brokers
  • Cloud services simulation
  • Automatic cleanup

Utility Libraries

Apache Commons

Reusable Java components collection.

Google Guava

Core libraries from Google.

  • Collections utilities
  • Caching
  • Functional idioms
  • String processing
  • I/O utilities

Lombok

Reduces boilerplate code with annotations.

  • Automatic getters/setters
  • Builders
  • Logging
  • Value objects
  • IDE plugin required

Serialization

Jackson

High-performance JSON processor.

  • JSON parsing and generation
  • Data binding
  • Streaming API
  • Extensive format support (XML, YAML, CSV)

Gson

Google’s JSON library.

  • Simple API
  • Good performance
  • Flexible configuration
  • Built-in support for generics

Protocol Buffers (protobuf)

Google’s serialization format.

  • Language-agnostic
  • Binary format
  • Schema evolution
  • High performance

Community Resources

Learning Platforms

Oracle Java Learning

Official Oracle learning hub for Java developers.

  • Free courses
  • Interactive tutorials
  • Video content
  • Latest Java features

Java Programming MOOC

Comprehensive free online course from University of Helsinki.

  • Beginner-friendly
  • Hands-on exercises
  • Automated testing
  • No prerequisites

Codecademy - Learn Java

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

Baeldung

Comprehensive Java tutorials and guides.

  • Spring ecosystem focus
  • Weekly newsletter
  • In-depth articles
  • Code examples on GitHub

DZone Java Zone

Developer community with Java articles.

  • Latest Java news
  • Expert opinions
  • Tutorial and guides
  • Conference coverage

InfoQ Java

Enterprise software development news and articles.

  • Trending topics
  • Expert interviews
  • Conference presentations
  • Technical deep-dives

Java Code Geeks

Java community site with tutorials and examples.

  • Practical code examples
  • Framework tutorials
  • Best practices
  • Weekly newsletter

Inside Java

Official news and views from the Java team at Oracle.

  • OpenJDK updates
  • Feature previews
  • Community spotlight
  • Podcast episodes

Community Forums

Stack Overflow - Java

Q&A platform with massive Java community.

  • Over 2 million questions
  • Expert answers
  • Code examples
  • Searchable archive

Reddit - r/java

Reddit community for Java developers.

  • News and discussions
  • Job postings
  • Project showcases
  • Weekly question threads

Oracle Java Community

Official Oracle community resources.

  • Java Champions program
  • Java User Groups
  • Community events
  • Technical forums

Java Ranch

Friendly beginner-focused Java forum.

  • Helpful community
  • Certification discussions
  • Book promotions
  • Career advice

Video Content

Java YouTube Channel (Oracle)

Official Java YouTube channel.

  • Feature announcements
  • Tutorial series
  • Conference talks
  • Developer interviews

Java Brains

Popular Java tutorial channel.

  • Spring Framework focus
  • Microservices architecture
  • Clear explanations
  • Hands-on projects

Amigoscode

Modern Java development tutorials.

  • Full-stack development
  • Spring Boot projects
  • Cloud deployment
  • Best practices

Devoxx YouTube

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

Maven Central Repository

Primary repository for Java libraries.

  • Official open-source artifacts
  • Millions of components
  • Version history
  • Dependency information
  • Search and documentation

JFrog Artifactory

Universal artifact repository manager.

  • Private repository hosting
  • Proxy for Maven Central
  • Build integration
  • Enterprise features

JitPack

Build GitHub repositories as Maven/Gradle dependencies.

  • Automatic builds
  • No manual publishing
  • Easy integration
  • Version tags support

Development Tools

JDK Mission Control

Advanced profiling and diagnostics tool.

  • Flight Recorder integration
  • Low overhead profiling
  • Memory analysis
  • Thread monitoring

VisualVM

Visual tool for monitoring and troubleshooting Java applications.

  • CPU and memory profiling
  • Thread analysis
  • Heap dump analysis
  • Plugin support

JProfiler

Commercial Java profiler.

  • CPU profiling
  • Memory leak detection
  • Database profiling
  • Thread analysis

Online Compilers

JDoodle

Online Java compiler and IDE.

  • Multiple Java versions
  • Save and share code
  • Collaboration features
  • API access

Replit - Java

Collaborative browser-based IDE.

  • Real-time collaboration
  • Package management
  • Instant setup
  • Free tier available

Coding Ground - Java

Simple online Java compiler.

  • Quick testing
  • No registration required
  • Multiple Java versions
  • Clean interface

Code Snippets and Examples

OpenJDK Code Tools

Tools for code development and analysis.

  • JMH (benchmarking)
  • Jtreg (regression tests)
  • JCov (code coverage)

Awesome Java

Curated list of Java frameworks, libraries, and tools.

  • Libraries organized by category
  • Active projects only
  • Regular updates
  • Community-driven

Official Social Media

X (formerly Twitter): @java

Official Java X account.

  • News and updates
  • Community highlights
  • Event announcements
  • Developer spotlights

LinkedIn: Oracle Java

Official Java LinkedIn page.

  • Professional content
  • Job opportunities
  • Industry insights
  • Product announcements

Java Advent Calendar

Daily Java articles in December.

  • Community contributions
  • Diverse topics
  • Holiday tradition
  • Archive available

Contributing to Java

OpenJDK Project

Open-source Java Development Kit implementation.

  • Source code access
  • Contribute patches
  • Mailing lists
  • Project governance

OpenJDK GitHub Mirror

GitHub mirrors of OpenJDK projects.

  • Browse source code
  • Submit issues (via JIRA)
  • Follow development
  • Multiple project repos

Java Community Process (JCP)

Formal process for developing Java specifications.

  • JSR proposals
  • Expert groups
  • Public review
  • Specification development

Java Code Conventions

Official coding standards.

  • Naming conventions
  • Formatting rules
  • Documentation comments
  • File organization

Platform-Specific Resources

Java SE (Standard Edition)

Java SE Download

Official JDK downloads.

  • Latest releases
  • LTS versions
  • Platform-specific installers
  • Source code

OpenJDK Builds

Open-source JDK builds from Oracle.

  • Early access builds
  • Archive releases
  • Cross-platform
  • Free for production

Adoptium (Eclipse Temurin)

High-quality OpenJDK binaries.

  • Long-term support
  • Multiple versions
  • Regular updates
  • Free TCK-certified builds

Amazon Corretto

Production-ready OpenJDK distribution from AWS.

  • No-cost LTS
  • Performance optimizations
  • Security patches
  • Multi-platform support

Java EE / Jakarta EE

Jakarta EE Specifications

Enterprise Java specifications and APIs.

  • Servlet
  • REST (JAX-RS)
  • Persistence (JPA)
  • CDI

WildFly (formerly JBoss)

Flexible and lightweight application server.

  • Jakarta EE implementation
  • Microservices support
  • Cloud-ready
  • Active community

Java for Mobile

Android Developers - Java

Official Android development documentation.

  • Android SDK
  • App architecture
  • UI components
  • Best practices

Learn More

Comprehensive Learning Path:

Reference Materials:

Last updated