Java Virtual Machine – Torna as aplicações independentes da plataforma onde funcionam, carregando e executando aplicativos Java, convertendo os bytecodes em código executável de máquina Bytecodes - Os fontes da linguagem Java são compilados para uma forma intermediária de código denominada bytecode, que é interpretada pelas Máquinas Virtuais Java (JVMs). É essa característica que faz com que os os programas Java sejam independentes de plataforma, executando em qualquer sistema que possua uma JVM. Applet é um software aplicativo que é executado no contexto de outro programa. O termo foi introduzido pelo AppleScript em 1993. No contexto de Java, applets são aplicativos que se servem da JVM (Java Virtual Machine) existente na máquina cliente ou embutida no próprio navegador do cliente para interpretar o seu bytecode. Applets são geralmente usados para adicionar iteratividade a aplicações web que não podem ser geradas pelo HTML. Eles são executados numa "caixa de areia" (sandbox) pela maioria dos navegadores, impedindo-os de acessarem os dados da máquina na qual estão sendo executados.