Download and Install JDK on Windows

This section provides a tutorial example on how to download and install the latest version JDK, which contains the HotSpot JVM, on a Windows system. A simple Java program was entered, compiled, and executed to verify the JDK installation.

In order try the HotSpot JVM, I downloaded and installed JDK 17 (Java SE 17) on my Windows computer:

To test the installation, open a command window to try the java command. If you are getting the following output, your installation is good:

herong> \progra~1\java\jdk-17.0.1\bin\java -version

java version "17.0.1" 2021-10-19 LTS
Java(TM) SE Runtime Environment (build 17.0.1+12-LTS-39)
Java HotSpot(TM) 64-Bit Server VM 
  (build 17.0.1+12-LTS-39, mixed mode, sharing)

Once the JDK is installed, you can try to use it to compile and execute a simple Java program:

1. Use Notepad to enter the following Java program into a file called

class Hello {
   public static void main(String[] a) {
      System.out.println("Hello world!");

2. Then compile this program in a command window with the "javac" command:

herong> \progra~1\java\jdk-17.0.1\bin\javac

3. To execute the program, use the "java" command:

herong> \progra~1\java\jdk-17.0.1\bin\java Hello

Hello world!

Cool, I have successfully:

Table of Contents

 About This Book

 JVM (Java Virtual Machine) Specification

Java HotSpot VM - JVM by Oracle/Sun

 java.lang.Runtime Class - The JVM Instance

 java.lang.System Class - The Operating System

 ClassLoader Class - Class Loaders

 Class Class - Class Reflections

 JVM Runtime Data Areas

 JVM Stack, Frame and Stack Overflow

 Thread Testing Program and Result

 CPU Impact of Multi-Thread Applications

 I/O Impact of Multi-Thread Applications

 CDS (Class Data Sharing)

 Micro Benchmark Runner and JVM Options

 Micro Benchmark Tests on "int" Operations

 Micro Benchmark Tests on "long" Operations

 Micro Benchmark Tests in JIT Compilation Mode

 Micro Benchmark Tests on "float" and "double" Operations

 OpenJ9 by Eclipse Foundation

 JRockit JVM 28.2.7 by Oracle Corporation

 Archived Tutorials


 Full Version in PDF/EPUB