Java Virtual Machine - Introduction

The JVM is a specification, and can have different implementations, as long as they adhere to the specs. The specs can be found in the below link −

Oracle has its own JVM implementation (called the HotSpot JVM), the IBM has its own (the J9 JVM, for example).

The operations defined inside the spec are given below (source − Oracle JVM Specs, see the above link) −

  • The ‘class’ file format
  • Data types
  • Primitive types and values
  • Reference types and values
  • Run-time data areas
  • Frames
  • Representation of objects
  • Floating-point arithmetic
  • Special methods
  • Exceptions
  • Instruction set summary
  • Class libraries
  • Public design, private implementation

The JVM is a virtual machine, an abstract computer that has its own ISA, own memory, stack, heap, etc. It runs on the host OS and places its demands for resources to it.