Arquitetura da JVM (Máquina Virtual Java)JVM (Java Virtual Machine) é uma máquina abstrata. É uma especificação que fornece um ambiente de tempo de execução no qual o bytecode do java pode ser executado. As JVMs estão disponíveis para muitas plataformas de hardware e software (ou seja, a JVM depende da plataforma). O que é JVMIsto é:
O que ela fazA JVM executa a seguinte operação:
A JVM fornece definições para:
Arquitetura da JVMVamos entender a arquitetura interna da JVM. Contém carregador de classe, área de memória, mecanismo de execução etc. 1) ClassloaderO Classloader é um subsistema da JVM que é usado para carregar arquivos de classe. Sempre que executamos o programa java, ele é carregado primeiro pelo carregador de classe. Existem três carregadores de classes integrados em Java.
Saída: sun.misc.Launcher$AppClassLoader@4e0e2f2a null Estes são os carregadores de classes internos fornecidos pelo Java. Se você deseja criar seu próprio carregador de classe, é necessário estender a classe ClassLoader. 2) Área de Classe (Método)Classe (método) A área armazena estruturas por classe, como o pool constante de tempo de execução, dados de campo e método, o código para métodos. 3) HeapÉ a área de dados de tempo de execução na qual os objetos são alocados. 4) PilhaJava Stack armazena quadros. Ele contém variáveis locais e resultados parciais e desempenha um papel na invocação e no retorno do método. Cada encadeamento possui uma pilha JVM privada, criada ao mesmo tempo que encadeamento. Um novo quadro é criado toda vez que um método é chamado. Um quadro é destruído quando sua chamada de método é concluída. 5) Registro do contador de programaO registro do PC (contador de programa) contém o endereço da instrução da máquina virtual Java atualmente em execução. 6) Pilha de método nativoEle contém todos os métodos nativos usados no aplicativo. 7) Mecanismo de ExecuçãoContém:
8) Interface nativa JavaJava Interface Nativa (JNI) é uma estrutura que fornece uma interface para se comunicar com outro aplicativo escrito em outra linguagem como C, C ++, Assembly etc. Java usa a estrutura JNI para enviar saída ao console ou interagir com as bibliotecas do sistema operacional.
Próximo tópicoVariáveis Java
|