← New search

Other meanings of Java

PROGRAMMING LANGUAGE

Java

Java is a general-purpose programming language and computing platform designed for portability, reliability, and large-scale software development. Programs are compiled into platform-independent bytecode that runs on a Java Virtual Machine (JVM), allowing the same application to operate across many operating systems with limited changes.

1995
first public release
Sun Microsystems
JVM
standard execution environment
bytecode runtime
Object-oriented
primary programming paradigm
class-based language
1

Origins and design

Java originated at Sun Microsystems in the early 1990s as part of the Green Project, led by James Gosling, and was publicly released in 1995. Its initial design targeted consumer electronics, but the language gained wider attention through browser-based applets and the emerging World Wide Web. Java borrowed syntax familiar from C and C++ while removing or restricting features such as explicit pointer arithmetic and manual memory deallocation. The result was a class-based, object-oriented language intended to make software easier to move between machines and safer to maintain.

The phrase “write once, run anywhere” describes Java’s central portability goal rather than an absolute guarantee. A compiler translates source code into bytecode, and a compatible Java Virtual Machine interprets or compiles that bytecode for a particular processor and operating system.1

2

Platform and execution model

Java is both a language and a layered platform consisting of libraries, development tools, and the Java Virtual Machine. The JVM specification defines an abstract machine with class loading, bytecode verification, execution, threads, and memory areas; individual implementations may use interpretation, just-in-time compilation, or both.1 The Java Language Specification defines the language’s syntax, types, expressions, classes, interfaces, and rules for compilation.2

Automatic memory management is provided by garbage collection, which identifies objects no longer reachable by a program and reclaims their storage. Java also supplies extensive standard libraries for collections, input and output, networking, concurrency, security, text processing, and database connectivity. These libraries, rather than syntax alone, have made Java suitable for enterprise servers, scientific tools, desktop programs, and embedded systems.

3

Ecosystem and major uses

Java became a major language for server-side and enterprise software because its portability, networking libraries, static type checking, and mature tooling supported long-lived applications. Frameworks such as the Spring Framework built large ecosystems around Java web services, dependency management, and database-backed applications. Java is also used in financial systems, build tools, distributed data platforms, scientific software, and educational programming.

Java should not be confused with JavaScript, a separate language that developed independently despite the similar name. Java was also important in early versions of Android, where applications commonly used Java alongside Android-specific APIs; Kotlin is now an officially supported alternative and is widely used in new Android development. The language’s broad library and tooling ecosystem remains supported by multiple vendors and open-source projects.

4

Lesser-known aspects

Java’s portability depends on a defined runtime contract, not on identical behavior from every implementation. The Java Community Process has historically organized standardized Java specifications, while the OpenJDK project provides the principal open-source implementation and development base for Java SE.3 Vendors can distribute compatible builds with different support periods, performance features, security patches, and licensing terms.

Several less visible design choices shaped Java’s character. Checked exceptions made some failure conditions part of a method’s declared interface, while interfaces allowed a form of multiple behavioral contracts without multiple class inheritance. Later releases added generics, annotations, lambda expressions, modules, records, and pattern-oriented features while preserving substantial backward compatibility. Java’s memory model also gives formal rules for visibility and ordering between threads, a detail that matters greatly in concurrent software but is rarely visible in beginner examples.2

Glossary

Bytecode
Platform-independent instructions produced by the Java compiler and executed by a Java Virtual Machine.
Java Virtual Machine
The abstract runtime defined by the JVM specification that loads and executes Java class files.
Garbage collection
Automatic reclamation of memory occupied by objects that a program can no longer reach.
OpenJDK
The open-source project that develops the reference implementation and much of the implementation code for Java SE.
Java SE
Java Platform, Standard Edition, the core platform specification covering the language, JVM, libraries, and related APIs.

Java implementations and release policies change over time; the language and platform specifications define compatibility more precisely than any single vendor distribution.