A portabilidade da plataforma Java deriva do seu modelo de execução. Especificamente, ele deriva do uso do JVM Java para processar código de bytes para o código de máquina em tempo de execução, proporcionando uma camada de compatibilidade no topo do equipamento. Modelo de execução da plataforma Java também introduz algumas importantes benefícios de segurança que estão faltando em aplicações de dispositivo nativo. Estes benefícios são os seguintes: O JVM verifica todas as classes em carregadores de classe e garante que os aplicativos não executar quaisquer operações perigosas.
Porque a verificação de classe de tempo de execução é computacionalmente caro para MIDP VMs, MIDP tem um regime especial de verificação bytecode de duas etapas. Vamos abordar este esquema em uma seção posterior. O JVM tem um mecanismo de acompanhamento para salvaguardar os erros do aplicativo de tempo de execução. Um bom exemplo é o coletor de lixo. A JVM pode limpar memória pilhas aplicativo automaticamente em tempo de execução. Isso ajuda a evitar vazamentos de memória, que são a principal causa dos acidentes entre aplicativos nativos.
A JVM pode fornecer um gerente de segurança ou sandbox para aplicações. Vírus e outros códigos hostis acidentalmente baixado da Web pode representar sérios riscos de segurança. Na plataforma Java, aplicativos inteiros (ou seja, os arquivos JAR) podem ser assinados digitalmente. O gerente de segurança JVM concede os privilégios de aplicativos assinados para acessar APIs específicos (domínios) com base no nível de confiança do signatário. Vamos discutir baseada em domínio de segurança código móvel com mais detalhes em uma seção posterior.
, Design inteligente com foco em usabilidade e modelo de execução built-in da plataforma Java dar aplicações J2ME desempenho e segurança vantagens significativas sobre WAP e aplicativos nativos.