What is Java, History & Key Features
1Concept
Java was developed by James Gosling at Sun Microsystems in 1995 (originally named Oak) and acquired by Oracle in 2010. Java is a high-level, class-based, object-oriented programming language designed for platform independence ('Write Once, Run Anywhere' - WORA). Core features include: Simple syntax (C++ inspired without pointers or operator overloading), Robust (strong memory management & garbage collection), Secure (sandboxed JVM execution & bytecode verification), Multithreaded (built-in concurrency support), and High Performance (HotSpot JIT compiler).
2Architecture Diagram
+-------------------------------------------------------------------------+ | JAVA ECOSYSTEM | | +-------------------------------------------------------------------+ | | | JDK (Java Development Kit) | | | | [ Compilers (javac), Debuggers (jdb), Archivers (jar), jlink ] | | | | +-------------------------------------------------------------+ | | | | | JRE (Java Runtime Environment) | | | | | | [ Core Class Libraries (rt.jar / java.base), Security ] | | | | | | +-------------------------------------------------------+ | | | | | | | JVM (Java Virtual Machine) | | | | | | | | [ ClassLoader, JIT Compiler, Garbage Collector, GC ] | | | | | | | +-------------------------------------------------------+ | | | | | +-------------------------------------------------------------+ | | | +-------------------------------------------------------------------+ | +-------------------------------------------------------------------------+
3Code Example
Core Java
public class JavaFundamentals {
public static void main(String[] args) {
System.out.println("=== Java Platform Architecture ===");
System.out.println("Java Vendor: " + System.getProperty("java.vendor"));
System.out.println("Java Version: " + System.getProperty("java.version"));
System.out.println("JVM Name: " + System.getProperty("java.vm.name"));
System.out.println("Architecture: " + System.getProperty("os.arch"));
}
}4Expected Output
=== Java Platform Architecture === Java Vendor: Oracle Corporation Java Version: 21.0.2 JVM Name: OpenJDK 64-Bit Server VM Architecture: amd64
5Key Takeaways
- ✓JDK = JRE + Development Tools; JRE = JVM + Standard Class Libraries.
- ✓Bytecode (.class) is platform-independent; JVM is platform-specific.
- ✓JIT (Just-In-Time) compiler dynamically converts bytecode into native machine code at runtime.