A JVM é uma especificação e pode ter diferentes implementações, desde que estejam de acordo com as especificações. As especificações podem ser encontradas no link abaixo -https://docs.oracle.com
A Oracle tem sua própria implementação JVM (chamada HotSpot JVM), a IBM tem sua própria (J9 JVM, por exemplo).
As operações definidas dentro das especificações são fornecidas abaixo (fonte - Oracle JVM Specs, consulte o link acima) -
- O formato de arquivo da 'classe'
- Tipos de dados
- Tipos e valores primitivos
- Tipos e valores de referência
- Áreas de dados em tempo de execução
- Frames
- Representação de objetos
- Aritmética de ponto flutuante
- Métodos especiais
- Exceptions
- Resumo do conjunto de instruções
- Bibliotecas de aulas
- Projeto público, implementação privada
A JVM é uma máquina virtual, um computador abstrato que possui seu próprio ISA, própria memória, pilha, heap, etc. Ele é executado no sistema operacional host e coloca suas demandas de recursos nele.