← All languages

Java

C family · 1995Actively developed

A statically typed language built around a portable virtual machine.

Object-oriented · Generic

Homepage
https://dev.java/
Reference / standard
https://docs.oracle.com/javase/specs/
Java team news
https://inside.java/
Wikipedia (English)
https://en.wikipedia.org/wiki/Java_(programming_language)

Tracked release

Version
27.0.1
Artifact
JDK implementation
Published
2026-10-20
Source checked
2026-10-22
https://www.oracle.com/java/technologies/javase/27-0-1-relnotes.html

Use & ecosystem

Suited for
Web backends, Desktop applications, Mobile applications, Distributed services
Family / tradition
C-style
Maturity
Established
Ecosystem breadth
Broad

Long-term compatibility practices, multiple implementations and extensive independent use across enterprise applications, services and tooling support Established and Broad. Particular frameworks have separate compatibility policies.

Industry & practical use

Java is established in business services and web backends, with frameworks such as Spring Boot. The JVM also supports desktop applications. Android accepts Java source but uses its own runtime and APIs, so Android compatibility is not identical to Java SE compatibility.

Compilers, libraries & tooling

OpenJDK supplies the central open-source JDK implementation, with multiple vendors distributing and supporting builds. Java has extensive libraries, build tools and IDEs. A common bytecode format aids portability, while native dependencies and JDK version requirements still constrain deployment.

Platforms & deployment

General toolchains
Linux, Windows, macOS
Specialized tooling
Android
Native cross-compilation
Not the usual deployment model

JDK implementations cover Linux, Windows and macOS. Android supports Java through a separate application toolchain/runtime. Modern browsers do not run Java applets; JavaScript is a different language. CPU and OS availability depend on the chosen JDK distribution.

javac normally emits JVM bytecode that can run on compatible runtimes across platforms. This is portability through a VM, not native cross-compilation. Native-image toolchains are separate deployment options with their own target and library restrictions.

Project health & support

OpenJDK development and the Java specification process involve Oracle and other contributors. Oracle publishes a Java SE support roadmap with LTS releases; other JDK vendors offer their own support terms. Choose a distribution and maintenance policy explicitly rather than assuming all JDK builds have the same lifecycle.

Use, ecosystem & platform assessment reviewed 2026-10-22 · Sources below

History & origin

Java grew out of the Oak project at Sun Microsystems and was publicly introduced in 1995. James Gosling and colleagues designed it around portability and a managed runtime. Its ecosystem now includes the OpenJDK community and multiple JDK vendors.

Creators
James Gosling, Sun Microsystems
Origin
1995 — First public appearance; earlier development is noted below.

Influences & descendants

Influenced by

Influenced in this catalogue

Language features

Typing
Static
Execution
Bytecode VM, JIT, AOT
Block structure
Explicit delimiters
Semicolons
Required
Lexical closures
Yes
Namespaced modules
Yes
Pattern matching
Yes
Macro system
No built-in macro system

Implementation notes

  • HotSpot commonly combines interpretation and JIT compilation; AOT is available through implementations such as GraalVM Native Image.
  • Lambdas can capture local variables that are final or effectively final.
  • The tracked implementation release is JDK 27.0.1; other vendors and LTS lines have separate releases.

Sources & references

Language reference
https://docs.oracle.com/javase/specs/
History and background
https://www.oracle.com/java/technologies/language-environment.html

Use, ecosystem & platform sources

OpenJDK
https://openjdk.org/
Spring Boot services
https://spring.io/projects/spring-boot/
JDK platform downloads
https://jdk.java.net/
Oracle support roadmap
https://www.oracle.com/java/technologies/java-se-support-roadmap.html
Android Java support
https://developer.android.com/build/jdks

See the classification definitions for implementation-dependent features. Influence links cover the entries documented here.