Java
C family · 1995Actively developedA statically typed language built around a portable virtual machine.
Object-oriented · Generic
Links
- 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
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.