Saltar para o conteúdo

Máquina virtual Java

Origem: Wikipédia, a enciclopédia livre.
(Redirecionado deJVM)

Máquina virtual Java(eminglês:Java Virtual Machine,JVM) é um programa que carrega e executa os aplicativosJava,convertendo osbytecodesem código executável de máquina. A JVM é responsável pelo gerenciamento dos aplicativos, à medida que são executados.

Graças à máquina virtual Java, os programas escritos em Java podem funcionar em qualquer plataforma de hardware e software que possua uma versão da JVM, tornando assim essas aplicações independentes da plataforma onde funcionam.

Especificação JVM

[editar|editar código-fonte]

A máquina virtual Java é um computador abstrato (virtual) definido por uma especificação. Oalgoritmode coleta de lixo usado e qualquer otimização interna das instruções da máquina virtual Java (sua tradução emcódigo de máquina) não são especificados. A principal razão para essa omissão é não restringir desnecessariamente os implementadores. Qualquer aplicativo Java pode ser executado apenas dentro de alguma implementação concreta da especificação abstrata da máquina virtual Java.[1]

Começando comJava Platform, Standard Edition(J2SE) 5.0, as mudanças na especificação JVM foram desenvolvidas sob oJava Community Processcomo JSR 924.[2]A partir de 2006, as mudanças nas especificações para suportar as mudanças propostas para o formato do arquivo de classe (JSR 202) estão sendo feitas como uma versão de manutenção do JSR 924.[3]

JVM no navegador da web

[editar|editar código-fonte]

No início da vida útil da plataforma Java, a JVM foi comercializada como uma tecnologia da web para a criação de aplicativos ricos para a Internet. A partir de 2018, a maioria dos navegadores da web e sistemas operacionais que empacotam navegadores da web não são enviados com umplug-inJava, nem permitem o side-loading de qualquer plug-in não Flash. O plugin do navegador Java foi preterido no JDK 9.[4]

Em junho de 2015, de acordo com a W3Techs, o uso de miniaplicativos Java eSilverlightcaiu para 0,1% cada para todos os sites, enquanto o Flash caiu para 10,8%.[5]

Execução segura do código remoto

[editar|editar código-fonte]

A arquitetura de JVM permite um controle muito fino sobre as ações liberadas para o código que está rodando na VM. Isso permite a execução de código confiável de fontes remotas, um modelo usado pelosapplets.Osappletsrodam dentro de uma VM incorporada aobrowserdo usuário, executando código baixado de um servidorHTTPremoto. O código remoto roda em umasandbox,que protege o usuário de códigos maliciosos. O autor doappletpode aplicar um certificado para assinar digitalmente o applet como "seguro", dando a ele permissão de sair dosandboxe acessar livremente a máquina onde está rodando.

Referências

  1. Venners, Bill.«Free Online Chapters of Inside the Java Virtual Machine».Artima. Chapter 5.Consultado em 5 de dezembro de 2020
  2. «The Java Community Process(SM) Program - JSRs: Java Specification Requests - detail JSR# 924».www.jcp.org.Consultado em 5 de dezembro de 2020
  3. «The Java Community Process(SM) Program - JSRs: Java Specification Requests - detail JSR# 202».www.jcp.org.Consultado em 5 de dezembro de 2020
  4. Staff, Ars (28 de janeiro de 2016).«Oracle deprecates the Java browser plugin, prepares for its demise».Ars Technica(em inglês).Consultado em 5 de dezembro de 2020
  5. «Historical yearly trends in the usage statistics of client-side programming languages for websites, December 2020».w3techs.com.Consultado em 5 de dezembro de 2020

Ligações externas

[editar|editar código-fonte]
Ícone de esboço Este artigo sobreprogramação de computadoresé umesboço.Você pode ajudar a Wikipédiaexpandindo-o.