Antes da existência do Adobe Flash e de outras tecnologias modernas da Web, os proprietários de sites usavam Java para criar sites atraentes e interativos. Assim como o Flash, um programa Java reproduz filmes, gera gráficos de alta qualidade e oferece suporte a aplicativos complexos que se assemelham a aplicativos de desktop. O Java Virtual Machine Interpreter que é executado nos bastidores permite que você aproveite essas vantagens, mas tem desvantagens notáveis.
Anatomia de uma máquina virtual Java
O termo Java tem vários significados; pode referir-se à linguagem de programação que os desenvolvedores usam para criar aplicativos, a especificação da Interface do Programador de Aplicativos ou a especificação da Máquina Virtual Java. Quando você visita uma página da Web que possui um programa Java, também chamado de applet, seu navegador ativa a Java Virtual Machine que interpreta o código Java e executa o applet. Como uma máquina de computação real, a JVM processa instruções e gerencia áreas de memória.
Vantagem:Java é executado em uma área protegida
Imagine o que aconteceria se uma página da Web tivesse a capacidade de excluir seus arquivos ou examinar seus documentos particulares. Embora os applets Java possam executar tarefas úteis que o código HTML normal não pode, o Java é executado isolado dentro da Java Virtual Machine. A JVM garante que um applet renegado de um site perigoso não possa acessar recursos do sistema, como discos rígidos.
Desvantagem:os cibercriminosos podem explorar a máquina virtual Java
Embora a JVM restrinja as ações de um applet, ainda é possível que invasores explorem pontos fracos na plataforma Java. Por exemplo, no início de 2013, a Microsoft viu três exemplos de applets projetados para usar a execução remota de código para infectar computadores. A Oracle, desenvolvedora do Java, lançou uma atualização que mantém você mais seguro, definindo os níveis de segurança padrão do miniaplicativo como "Alto". Essa configuração garante que seu navegador o avise quando um applet não assinado tentar ser executado. Como a Microsoft observa, "a grande maioria dos applets que exploram vulnerabilidades de segurança não são assinadas". Uma assinatura digital em um miniaplicativo permite que você saiba quem o criou e verifique se ninguém modificou o miniaplicativo depois que o criador o assinou.
Vantagem:Tamanho único
"Plataforma cruzada" refere-se à capacidade de um programa ser executado com sucesso em diferentes tipos de hardware. Como o Java é multiplataforma, os desenvolvedores podem escrever um código que seja executado em qualquer PC, Mac, celular e qualquer outro dispositivo que tenha uma JVM. Java nem sempre precisa ser executado em um navegador. Você pode baixar aplicativos Java que são executados em sua área de trabalho da mesma forma que os programas normais.
Desvantagem:Algumas montagens podem ser necessárias
Se ninguém instalou o Java Runtime Environment em seu computador, você não pode usar o Java. Visite a página da Web Verify Java Version e siga as instruções para baixar e instalar a versão mais recente, caso não a tenha. Embora não seja uma instalação demorada, alguns problemas podem ocorrer, portanto, consulte a página de solução de problemas do Java se precisar de ajuda para que sua instalação funcione.
Vantagens adicionais
Em um nível detalhado, Java Virtual Machines usa seu compilador just-in-time para converter código Java em linguagem de máquina de baixo nível que é executada tão rapidamente quanto aplicativos comuns. Como os navegadores podem armazenar em cache esse código compilado, eles podem reutilizá-lo posteriormente sem baixá-lo novamente e passar pelas etapas de compilação.