sexta-feira, 6 de dezembro de 2013

Java Virtual Machine (JVM)

Java Virtual Machine(JVM) é um programa que carrega e executa os aplicativos Java, convertendo os bytecodes em código executável de máquina. A JVM é responsável pela gestão dos aplicativos a medida que são executados. Graças a JVM, os programas escritos em java podem funcionar em qualquer plataforma de hardware e software que possua uma versão da JVM, transformando assim essas aplicações independentes da plataforma que funcionam. Embaixo um diagrama simples:
E praticamente impossível criar programas com os fins maliciosos pois a JVM ao fazer passar os bytecodes pela JVM passa por vários requisitos de segurança lá presentes que impede a execução do código caso encontre irregularidades. Se um programa tentar aceder a áreas de memória restrita ou mesmo a recursos de hardware a JVM não aprova o código. O conceito de segurança no Java é baseado na SANDBOX (caixa de areia). Uma aplicação, seja qual for o ambiente (Windows, Unix, Mac OS, etc) possui um set de permissões do que pode ou não fazer. Cada ambiente possui sua SANDBOX específica com permissões e proibições. Tudo o que não for expressamente permitido é negado. O coração do esquema de segurança do SNADBOX é o Security Manager. Uma Aplicação Java tem a sua origem num ficheiro de texto. Após ter sido compilado, é criado um novo ficheiro, um ficheiro .java contem o texto, e este pode ser editado por qualquer editor de texto como por exemplo o Notepad. Apos a escrita do programa em Java é necessário compilar o ficheiro para o podermos executar. O compilador javac cria um novo ficheiro .java num ficheiro que o JVM entende criando um ficheiro com a extensão .class. Para executar o ficheiro será necessário utilizar o interpretador Java.

Sem comentários:

Enviar um comentário