Quais são os componentes da arquitetura Java?



A arquitetura Java combina o processo de compilação e interpretação. Neste artigo, falarei sobre os vários componentes da arquitetura Java

A arquitetura Java combina o processo de compilação e interpretação. Ele explica os vários processos envolvidos durante a formulação de um . Antes de começar com o tópico, deixe-me apresentá-lo com a agenda deste artigo.

As dicas mencionadas abaixo serão nossos tópicos de discussão:





Vamos começar entendendo o que exatamente é Arquitetura Java?



O que é arquitetura Java?

Aqui, vou explicar a arquitetura java em etapas simples.

  • Em Java, existe um processo de compilação e interpretação.
  • O código escrito em , é convertido em códigos de byte, o que é feito pelo compilador Java.
  • Os códigos de byte são então convertidos em código de máquina pela JVM.
  • O código de máquina é executado diretamente pela máquina.

Este diagrama ilustra o funcionamento interno de um código Java, ou precisamente, Arquitetura Java!



JVM - Arquitetura Java - EdurekaAgora, vamos aprofundar um pouco mais na arquitetura java e falar sobre vários .

Componentes da arquitetura Java

Existem três componentes principais da linguagem Java: JVM, JRE e JDK .

Java Virtual Machine, Java Runtime Environment e Java Development Kit respectivamente.

Deixe-me elaborar cada um deles um por um:

Máquina Virtual JAVA:

Já ouviu falar do WORA? (Escreva uma vez, corra em qualquer lugar). Bem, os aplicativos Java são chamados de WORA por causa de sua capacidade de executar um código em qualquer plataforma. Isso é feito apenas por causa da JVM. O JVM é um componente da plataforma Java que fornece um ambiente para a execução de programas Java. JVM interpreta o bytecode em código de máquina que é executado na máquina em que o programa Java é executado.

Portanto, em poucas palavras, a JVM executa as seguintes funções:

  • Carrega o código
  • Verifica o código
  • Executa o código
  • Fornece ambiente de tempo de execução

Agora, deixe-me mostrar a arquitetura JVM. Aqui vai!

Explicação:

Class Loader : O carregador de classes é um subsistema da JVM. Ele é usado para carregar arquivos de classe. Sempre que executamos o programa java, o carregador de classes o carrega primeiro.

Área de método de aula : É uma das Área de Dados da JVM, na qual os dados da Classe serão armazenados. Variáveis ​​estáticas, blocos estáticos, métodos estáticos, métodos de instância são armazenados nesta área.

Heap : Um heap é criado quando a JVM é inicializada. Ele pode aumentar ou diminuir de tamanho enquanto o aplicativo é executado.

Pilha : A pilha JVM é conhecida como pilha de encadeamentos. É uma área de dados na memória JVM que é criada para um único encadeamento de execução. A pilha JVM de um encadeamento é usado pelo encadeamento para armazenar vários elementos, ou seja, variáveis ​​locais, resultados parciais e dados para chamar métodos e retornos.

Pilha nativa : Inclui todos os métodos nativos usados ​​em seu aplicativo.

Mecanismo de execução:

  • Compilador JIT
  • Coletor de lixo

Compilador JIT: o Compilador Just-In-Time (JIT) faz parte do ambiente de tempo de execução. Ajuda a melhorar o desempenho de aplicativos Java, compilando bytecodes para código de máquina em tempo de execução. O compilador JIT é ativado por padrão. Quando um método é compilado, a JVM chama o código compilado desse método diretamente. O compilador JIT compila o bytecode desse método em código de máquina, compilando-o “just in time” para ser executado.

Coletor de lixo: Como o nome explica isso Coletor de lixo meios para coletar o material não utilizado. Bem, na JVM esse trabalho é feito pela Garbage collection. Ele rastreia todos os objetos disponíveis no espaço de heap da JVM e remove os indesejados.
O coletor de lixo funciona em duas etapas simples conhecidas como Mark and Sweep:

  • Mark - é onde o coletor de lixo identifica qual parte da memória está em uso e qual não está
  • Varredura - remove os objetos identificados durante a fase de “marcação”.

Java Runtime Environment:

O software JRE constrói um ambiente de tempo de execução no qual programas Java podem ser executados. O JRE é o sistema em disco que pega seu código Java, combina-o com as bibliotecas necessárias e inicia o JVM para executá-lo. O JRE contém bibliotecas e software necessários para a execução de seus programas Java. O JRE é parte do JDK (que estudaremos mais tarde), mas pode ser baixado separadamente.

Kit de desenvolvimento do Java:

O Java Development Kit (JDK) é um ambiente de desenvolvimento de software usado para desenvolver aplicativos e miniaplicativos Java. Ele contém JRE e várias ferramentas de desenvolvimento, um interpretador / carregador (java), um compilador (javac), um arquivador (jar), um gerador de documentação (javadoc) acompanhado de outra ferramenta.

A área azul mostrada no diagrama é JDK. Agora, deixe-me elaborar as ferramentas de desenvolvimento para todos vocês.

webdriver selênio com pepino exemplo em eclipse

Java : é o lançador de todos os aplicativos Java.
Javac : complier das linguagens de programação java.
Javadoc : é o gerador de documentação API.
jarra : cria e gerencia todos os arquivos JAR.

Avançando com a arquitetura Java, vamos entender como a plataforma Java é independente?

Como a plataforma Java é independente?

Quando alguma linguagem de programação é chamada de independente de plataforma? Bem, se e somente se ele pode ser executado em todos os sistemas operacionais disponíveis no que diz respeito ao seu desenvolvimento e compilação.
Agora, Java é independente de plataforma apenas por causa do bytecode. Deixe-me dizer o que exatamente é um bytecode? Em termos simples,
Bytecode é um código da JVM que pode ser entendido pela máquina.
A execução de bytecode em Java prova que é uma linguagem independente de plataforma.
Aqui, vou mostrar as etapas envolvidas no processo de execução de bytecode java.

Abaixo está a explicação das etapas envolvidas:

amostra.java → javac (amostra. classe) → JVM (amostra.obj) → saída final

O primeiro código-fonte é usado pelo compilador java e é convertido em um arquivo .class. O código do arquivo de classe está na forma de código de bytes e esse arquivo de classe é usado pela JVM para converter em um arquivo de objeto. Depois disso, você pode ver o resultado final em sua tela.

Avançando no artigo sobre arquitetura Java, vamos entender o conceito de JIT em Java .

JIT em Java

O compilador Just In Time, comumente conhecido como JIT, é basicamente responsável pela otimização de desempenho de aplicativos baseados em java em tempo de execução. O desempenho de um aplicativo depende de um compilador.
Aqui está um diagrama simples que mostra o processo interno em andamento.

Compilador JIT - Arquitetura Java - Edureka

O compilador JIT compila o código de bytes do método em código de máquina, compilando-o “Just In Time” para ser executado. Quando um método é compilado, a JVM chama o código compilado desse método diretamente.
Vamos mergulhar mais fundo:
O código de byte deve ser interpretado ou compilado para as instruções de máquina adequadas, dependendo do conjunto de instruções fornecido. Além disso, eles podem ser executados diretamente se a arquitetura de instrução for baseada em código de bytes. A interpretação do código de byte afeta a velocidade de execução.
Para melhorar o desempenho, os compiladores JIT interagem com a Java Virtual Machine (JVM) no tempo de execução e compilam sequências de bytecode adequadas em código de máquina nativo (conforme mostrado no diagrama). Ao usar um compilador JIT, o hardware é capaz de executar o código nativo, em comparação a ter a JVM interpretando a mesma sequência de bytecode repetidamente e incorrendo em sobrecarga para o processo de tradução.

Com isso, cheguei ao final deste artigo sobre Arquitetura Java. Espero que os tópicos discutidos acima agreguem valor ao seu conhecimento Java. Fique ligado para mais artigos!

Agora que você entendeu o básico de Java, verifique o pela Edureka, uma empresa de aprendizagem online confiável com uma rede de mais de 250.000 alunos satisfeitos espalhados por todo o mundo. O curso de certificação e treinamento Java J2EE e SOA da Edureka é projetado para estudantes e profissionais que desejam ser um desenvolvedor Java. O curso foi elaborado para dar a você uma vantagem inicial na programação Java e treiná-lo para os conceitos básicos e avançados de Java, juntamente com várias estruturas Java como Hibernate e Spring.

Tem alguma questão para nós? Mencione isso na seção de comentários deste blog “Arquitetura Java e seus componentes” e entraremos em contato com você o mais breve possível.