Java SE
About
Java SE (Standard Edition) is the foundational platform of the Java ecosystem. It provides the core functionality required for developing and running Java applications on desktops, servers, and embedded environments.
Purpose: Java SE provides the standard APIs and tools to write and run general-purpose applications in Java.
Base for: Java EE (Jakarta EE), JavaFX, Android (indirectly), and many frameworks like Spring and Hibernate.
Released by: Originally by Sun Microsystems, now maintained by Oracle and OpenJDK community.
Java SE Versions Timeline
Version
Release Date
Notable Feature(s)
Java 1.0
1996
First public release
Java 1.2
1998
Collections Framework
Java 5
2004
Generics, Annotations, Enums
Java 8
2014
Lambdas, Streams, Date/Time
Java 11
2018
LTS, modern APIs
Java 17
2021
LTS, Sealed classes, Records
Java 21
2023
Virtual threads (LTS)
Core Components
Java Development Kit (JDK)
Includes:
javac
: Java compilerjava
: JVM launcherjavadoc
: Documentation generatorjdb
: Debuggerjshell
: REPL (since Java 9)Other tools:
jar
,jarsigner
,jlink
,jdeps
,jmod
, etc.
Java Runtime Environment (JRE)
A subset of JDK
Includes JVM and standard class libraries
Note: JRE is no longer distributed separately from Java 11 onward.
Java Virtual Machine (JVM)
Executes Java bytecode (.class files)
Handles memory management, garbage collection, JIT compilation, and runtime optimizations
Platform-specific implementation with consistent bytecode interpretation
Core Libraries (Packages)
Key Packages:
java.lang
: Fundamental classes (String, Math, Object, System, Thread, etc.)java.util
: Collections, Date/Time, Random, Optional, etc.java.io
/java.nio
: Input/Output APIs (stream-based and buffer-based)java.net
: Networking (sockets, HTTP clients, URLs)java.sql
: JDBC APIs for database connectivityjava.time
: Date/Time API (since Java 8)java.math
: BigDecimal, BigIntegerjava.util.concurrent
: Concurrency utilities (Executors, Future, Locks)java.security
: Cryptographic and permission APIsjava.lang.reflect
: Reflection supportjavax.*
: Legacy APIs included in SE (e.g.,javax.crypto
,javax.net.ssl
,javax.naming
) — before being moved or deprecated
Licensing
Oracle JDK (Post-Java 8): Commercial use restrictions unless using LTS with proper license
OpenJDK: GPLv2 with Classpath Exception
Alternative builds:
Amazon Corretto
Azul Zulu
Eclipse Temurin (Adoptium)
Red Hat OpenJDK
Development Environments
Popular IDEs: IntelliJ IDEA, Eclipse, NetBeans, VS Code (with extensions)
Build Tools:
Maven
Gradle
Ant (legacy)
Deployment Methods
JAR Files (
.jar
)Native images (via GraalVM)
Platform-specific installers (JPackage)
Use Cases
Desktop applications (Swing, JavaFX)
Command-line tools
Server-side components
Embedded software (with constrained environments)
Backend microservices (Spring Boot, Quarkus, Micronaut)
Last updated
Was this helpful?