Java SE is the standard version of Java, it includes libraries for desktop applications, networking, security, database access, and more. If you need to run Java applications, downloading and installing the JRE is enough. If you're developing Java applications, you'll want to download the JDK, which also includes the JRE.
The JRE is the Java Runtime Environment, it covers most users needs. Contains everything required to run Java applications on your system. It is a package of everything necessary to run a compiled Java program, including the Java Virtual Machine (JVM), the Java Class Library, the Java command, and other infrastructure. However, it cannot be used to create new programs.
The JDK is the Java Development Kit, the full-featured SDK for Java. It has everything the JRE has, but also the compiler (javac) and tools (like javadoc and jdb). It is capable of creating and compiling programs.
For full information and terms, refer to the OTN License Agreement for Java SE. The OTN License Agreement for Java SE for current Oracle Java SE releases allows them to be used, without cost:
- (i) For personal use on a desktop or laptop computer, such as to play games or run other personal applications.
- (ii) For development, testing, prototyping, and demonstrating applications, including to use by/with profilers, debuggers, and Integrated Development Environment tools.
- (iii) For use with some approved products, such as Oracle SQL Developer, or as an end user of a software application created by an approved product. (referred to as "Schedule A" and "Schedule B" Products in the OTN License Agreement for Java SE)
- (iv) With identified Oracle Cloud Infrastructure products.
The latest version of Java is Java 27 released on October 2026. However, many versions of Java are actively maintained for compatibility purposes. Java 8, Java 11, Java 17, Java 21, and Java 25 are the five long-term support versions recommended by Oracle alongside the latest release. You can download the version you need below:
- Java SE 26 Download
- Java SE 25 Download (LTS, recommended)
- Java SE 24 Download
- Java SE 23 Download
- Java SE 22 Download
- Java SE 21 Download (LTS, recommended)
- Java SE 20 Download
- Java SE 19 Download
- Java SE 18 Download
- Java SE 17 Download (LTS, recommended)
- Java SE 16 Download
- Java SE 15 Download
- Java SE 11 Download (LTS, recommended)
- Java SE 9 Download
- Java SE 8 Download (LTS, recommended)
Sometimes, even if you are not planning to do any Java development on a computer, you still need the JDK installed. For example, if you are deploying a web application with JSP, you are technically just running Java programs inside the application server. Why would you need the JDK then? Because the application server will convert JSP into Java servlets and needs to use the JDK to compile the servlets.
What's New
Oracle today announced the availability of Java 27, the latest version of the world's number one programming language and development platform. Featuring thousands of performance, stability, security, and productivity improvements, Java 27 (Oracle JDK 27) provides a strong foundation for continued Java innovation. To help organizations prepare for more secure communications in a post-quantum world, Java 27 advances its post-quantum cryptography (PQC) capabilities with hybrid key exchange for TLS 1.3.
Oracle is also highlighting JDK 28 early access (EA) to preview future innovations such as Project Valhalla. In addition, Oracle is announcing aligned updates across the Java ecosystem and Oracle Java Verified Portfolio (JVP), including Helidon 27 for lightweight microservices, JavaFX 27 for rich client applications, and Oracle Jipher 20, now part of JVP, to help customers deploy Java applications in FIPS 140-regulated environments.
Post-Quantum Security, Compliance, and Trust Features
JEP 527: Post-Quantum Hybrid Key Exchange for TLS 1.3: Helps organizations strengthen the protection of sensitive data and business-critical communications against "harvest now, decrypt later" threats while enabling developers to meet evolving cryptographic requirements with minimal application disruption. This is especially important for enterprise AI systems and business-critical applications that require secure communication across data services, models, agents, APIs, cloud platforms, and distributed application environments.
JEP 538: PEM Encodings of Cryptographic Objects (Third Preview): Helps to enhance the secure handling of widely used cryptographic material while improving interoperability with common security tooling and infrastructure. As a result, Java applications can integrate more easily with modern authentication, encryption, and certificate-management systems, helping support secure enterprise AI deployments.
JEP 536: JFR In-Process Data Redaction: Helps troubleshoot production systems more safely by reducing exposure of sensitive information. This supports compliance, privacy, and security requirements while preserving the operational value of JFR diagnostics, which is especially relevant for AI-enabled systems that may process sensitive customer, employee, operational, or regulated data.
AI, Data, and Modernization Features
JEP 537: Vector API (12th Incubator): Helps improve throughput without requiring specialized native code by accelerating analytics, AI inference, and workloads for scientific computing and media. By accelerating data processing and delivering more insights and value with less hardware, the vector API improves Java application performance while preserving the portability, maintainability, and security expected from Java.
JEP 533: Structured Concurrency (Seventh Preview): Helps reduce development risk for cloud, microservices, and AI-enabled applications by enabling developers to build scalable, resilient services with fewer concurrency defects. This is relevant for AI workloads that coordinate many parallel tasks such as model calls, data retrieval, enrichment, ranking, orchestration, and real-time decisioning. In addition, by improving reliability, cancellation, error handling, and observability for multithreaded code, it helps developers accelerate their development projects.
JEP 532: Primitive Types in Patterns, instanceof, and switch (Fifth Preview): Helps teams integrate AI inference into business logic faster and with fewer coding errors by making Java more uniform and expressive. This improves developer productivity and code clarity for data-heavy and decision-oriented applications, including AI, analytics, and event-processing workflows that use mixed primitive and object data.
JEP 531: Lazy Constants (Third Preview): Helps improve resource efficiency by providing greater control over initialization timing while preserving performance and correctness benefits of constants. This can improve the user experience and reduce operating costs for AI applications where responsiveness, scalability, and resource efficiency are critical.
Performance and Runtime Efficiency Updates
JEP 534: Compact Object Headers by Default: Helps accelerate application modernization by reducing JVM memory overhead with compact object headers enabled by default. As a result, customers can run existing applications on a newer JDK and reduce memory footprint. For customers running large Java estates, this can improve application density, reduce infrastructure cost, and increase the scalability of cloud services and microservices as well as data-intensive and AI-enabled workloads.
JEP 523: Make G1 the Default Garbage Collector in All Environments: Helps simplify the migration and modernization of applications by giving developers predictable performance and operational consistency across deployment environments. This helps development teams run cloud, microservices, and AI-enabled Java applications with greater confidence and fewer environment-specific configuration differences.
Additional Security, Reliability, and Performance Enhancements
Beyond the nine featured JEPs, Java 27 includes non-JEP updates that strengthen security through post-quantum cryptography, improved cryptographic performance, greater runtime visibility, and enhanced diagnostics.
The features Java 27 are a result of continuous collaboration between Oracle and members of the global Java developer community via OpenJDK and the Java Community Process (JCP). For more details on the features in Java 27, please read the Java 27 technical blog post.
