A Máquina Virtual Java (JVM) é um ambiente que executa programas Java. Programas em Java são compilados em uma linguagem intermediária chamada bytecode , que é o que a JVM executa . Qualquer programa compilado em bytecode pode ser executado em qualquer plataforma que tem uma JVM instalada. Isso faz com que o software Java compatível com diversas plataformas de computação diferentes. O JVM tem algumas vantagens notáveis e desvantagens que qualquer desenvolvedor deve pesar cuidadosamente antes de investir em desenvolvimento Java. Independência de Plataforma
Java bytecode podem ser escritos uma vez e , em seguida, executado em várias plataformas. Bytecode Java não precisa ser portado para um ambiente de hardware específico porque ele é executado na Máquina Virtual Java. Qualquer aplicação compilados em Java bytecode pode ser executado em qualquer plataforma de computação que possui uma máquina virtual Java.
Segurança
Java foi escrito com a segurança em mente . A Máquina Virtual Java foi construído com recursos de segurança que permitem que os programadores a escrever programas em Java altamente seguras . Ele também impede que o software malicioso comprometa o sistema operacional ( OS) , pois mantém os aplicativos Java de interagir com os recursos do sistema operacional.
Desempenho
programas Java que executado em uma máquina virtual Java tendem a executar mais lento do que programas equivalentes escritos em C + +. A neutralidade do sistema de bytecode atua como uma desvantagem em que o desempenho está em causa. Isso ocorre porque a otimização de código depende fortemente de recursos específicos do sistema . Desde Java bytecode é neutro do sistema , ele não pode ser otimizado para um conjunto de hardware específico.
Correctness
Um programa que executa , como esperado, é dito ser correto . Uma vez que um programa Java conta com o Java Virtual Machine para executá-lo , a JVM deve estar livre de erros para que o programa funcione corretamente. Esta dependência em relação a Java Virtual Machine apresenta um possível ponto de falha para o programa. Felizmente, o software de máquina virtual Java é produzido com padrões muito elevados e, portanto, não é susceptível de ser fornecido com todos os erros . Independentemente disso, uma falha no Java Virtual Machine é uma possibilidade que deve ser considerada.