# What is Java? — Core Java

Source: https://www.geekswithgeeks.com/en/core-java/java-intro

> Learn what Java is, how source compiles to bytecode, how the JVM runs it anywhere, and the difference between the JDK, JRE and JVM.

## The idea

Java is a **statically typed, object-oriented** language released by Sun Microsystems in 1995 and now stewarded by Oracle with an open-source reference implementation (OpenJDK). You write `.java` source, compile it to platform-neutral **bytecode** (`.class`), and the **JVM** runs that bytecode anywhere — "write once, run anywhere".

## JDK vs JRE vs JVM

**JVM** executes bytecode and manages memory. **JRE** = JVM + the standard class library needed to *run* apps. **JDK** = JRE + developer tools (`javac`, `jar`, `jshell`, debugger) needed to *build* apps. You install a JDK.

## Which version

Prefer a current **LTS** release (e.g. Java 17 or 21). LTS versions get years of security updates, which is what production code needs.
