Features of Java
Simple:Easy to learn and use. Java avoids complex features like pointers and
operator overloading.
Object-Oriented: Everything in Java is represented as objects. It supports core OOP
principles: encapsulation, inheritance, and polymorphism.
Platform Independent: Java code is compiled into bytecode which runs on any
system with a Java Virtual Machine (JVM).
Secure: Java provides a secure environment with no direct memory access and has
built-in security features.
Robust: Java handles runtime errors using exception handling and automatic
memory management (garbage collection).
2
3.
Features of Java
Multithreaded:Java supports multithreading, allowing concurrent execution of two
or more parts of a program.
Architecture Neutral: Java uses a fixed-size data type system so programs behave
consistently across different platforms.
Portable: Java programs can be moved easily from one system to another because
of platform independence and consistent bytecode behavior.
Distributed: Java provides APIs like java.net and RMI for building applications
that can interact over a network.
3
4.
JVM – JavaVirtual Machine
Definition: JVM is the engine that actually runs Java programs.
Responsibility: Executes .class files (compiled bytecode).
Platform Dependent: Each OS has its own JVM implementation.
4
5.
JRE – JavaRuntime Environment
Definition: A software package that provides the environment to run Java
programs.
Includes:
JVM
Core Java libraries (rt.jar)
Supporting files
Usage: End-users install JRE to run Java applications, not to develop.
5
6.
JDK – JavaDevelopment Kit
Definition: A complete software development kit to develop Java applications.
Includes:
JRE (which includes JVM)
Development tools: javac , javadoc , jdb , etc.
Usage: Developers install JDK to write, compile, and run Java code.
6
Popular JDK Distributions(2025)
JDK Name Maintained By Notes
Oracle JDK Oracle Official but licensed
OpenJDK OpenJDK Community Reference implementation
Eclipse Temurin Adoptium Foundation Enterprise-grade & free
Amazon Corretto AWS Free, cloud-optimized
Zulu by Azul Azul Systems Embedded & IoT support
Liberica JDK BellSoft JavaFX support included
8
9.
JVM-Based Languages
The JVMcan run many languages, not just Java:
Language Description
Kotlin Modern, concise; official Android language
Scala Functional + OO programming
Groovy Dynamic scripting for Java
Clojure Functional Lisp dialect
JRuby Ruby implementation on JVM
Jython Python implementation on JVM
Golo Lightweight language for IoT
9