Features of Java and JDK
Anthoniraj Amalanathan
1
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
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
JVM – Java Virtual 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
JRE – Java Runtime 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
JDK – Java Development 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
Visual Diagram
7
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
JVM-Based Languages
The JVM can 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

java_development_kit_vs-Java_virtual_machine-vs_java_development_kit

  • 1.
    Features of Javaand JDK Anthoniraj Amalanathan 1
  • 2.
    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
  • 7.
  • 8.
    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