A linguagem de programação Java é projetada para executar através de uma "máquina virtual". Isso é diferente de linguagens como C, onde um programa é escrito e compilado para uma arquitetura específica e sistema operacional. 
 A linguagem de programação Java é projetada para executar através de uma "máquina virtual" 
 O conceito de máquina virtual  
 Uma máquina virtual é uma camada de abstração que dá um programa de um simplificado . interface para interagir com uma variedade de computadores físicos e seus sistemas operacionais 
 vantagem: Segurança 
 
 uma vantagem de usar a máquina virtual Java ( VM) é que a máquina virtual tenta verificar toda a programação antes de executar a atividade maliciosa , e até mesmo erros graves dentro de um programa Java estão confinados a sandbox da máquina virtual 
 Vantagem: . Cross Platform 
 < br > 
 a enorme vantagem do Java VM é que permite que um programa a ser escrito e compilado apenas uma vez, que, então, pode ser executado em uma grande variedade de sistemas e sistemas operacionais sem modificação . Muitos celulares e dispositivos embarcados incluem um Java VM 
 Desvantagem: . Velocidade 
 
 Como a programação deve ser traduzido do genérico " código de bytes " para o código de máquina para o alvo 
 Desvantagem sistema como ele está sendo executado , é impossível para o Java para executar tão rapidamente quanto as línguas que pode compilar diretamente para código de máquina para os sistemas de destino : . Plataforma Características Específicas 
 
 Porque o Java VM deve ser executado em uma grande variedade de sistemas , recursos específicos de um sistema operacional , muitas vezes não são implementados em programas Java. Além disso, o "look and feel " de aplicações Java podem muitas vezes ser bem diferente do que os estilos padrão de aplicações nativas dentro de um sistema operacional.