A alocação e reciclagem de memória de Java são todas concluídas automaticamente pelo processo de coleta de lixo JVM. Ao contrário de C, os desenvolvedores Java não precisam escrever seu próprio código para implementar a coleta de lixo. Este é um dos muitos recursos que o Java é muito popular entre todos e pode ajudar os programadores a escrever melhor os programas Java.
Este tutorial é a primeira parte da série. Os termos básicos serão explicados primeiro, como JDK, JVM, JRE e HotSpoTVM. Em seguida, apresentaremos a estrutura da JVM e a estrutura de memória Java Heap. Compreender esse básico é importante para entender o conhecimento subsequente de reciclagem de lixo.
Termos Java -chave
Javaapi: Uma série de bibliotecas encapsuladas que ajudam os desenvolvedores a criar aplicativos Java.
Java Development Toolkit (JDK): Uma série de ferramentas para ajudar os desenvolvedores a criar aplicativos Java. O JDK contém ferramentas para compilar, executar, embalar, distribuir e monitorar aplicativos Java.
Java Virtual Machine (JVM): JVM é uma estrutura abstrata do computador. Os programas Java são escritos de acordo com os recursos da JVM. A JVM é específica para o sistema operacional e pode traduzir instruções Java em instruções que são sistemas subjacentes e executar. A JVM garante que a plataforma de Java.
Java Runtime Environment (JRE): JRE inclui a implementação da JVM e a API Java.
Javahotspot Máquina Virtual
Cada implementação da JVM pode adotar uma abordagem diferente para implementar o mecanismo de coleta de lixo. Antes da aquisição da Sun, o Oracle usava o JrockitJVM e após a aquisição, o hotspotjvm foi usado. Atualmente, o Oracle possui duas implementações de JVM e as duas implementações da JVM se fundirão em uma após um período de tempo.
O HotSpoTJVM faz parte dos componentes principais atuais do padrão de plataforma Oraclese. Neste tutorial de coleta de lixo, entenderemos os princípios de coleta de lixo baseados em máquinas virtuais de hotspot.
Arquitetura JVM
A imagem a seguir resume os principais componentes da JVM. Na arquitetura da JVM, os dois principais componentes relacionados à coleta de lixo são a memória da pilha e o coletor de lixo. A memória da heap é uma área de dados de memória usada para salvar instâncias de objetos em tempo de execução. O coletor de lixo também operará aqui. Agora sabemos como esses componentes funcionam na estrutura.
Java Heap Memory
É necessário entender o papel do modelo de memória da JVM que existe na memória da heap. Em tempo de execução, as instâncias Java são armazenadas na área de memória da heap. Quando um objeto não é mais referenciado, a condição é removida da memória da heap. No processo de coleta de lixo, esses objetos serão removidos da memória da heap e o espaço de memória será reciclado. Nas três áreas principais da memória da heap:
Geração jovem
Eden Space (Edenspace, qualquer instância entra na área de memória de tempo de execução através do Eden Space)
Espaço S0Survivor (S0SurVivorspace, instâncias que existem por um longo tempo serão movidas do espaço do Éden para o espaço S0Survivor)
Espaço S1Survivor (instâncias que existem por um longo período de tempo serão movidas do espaço S0Survivor para o espaço S1Survivor)
Instâncias de geração antiga serão promovidas de S1 a titular (geração vitalícia)
A geração permanente contém meta informações sobre aulas, métodos e outros detalhes
O espaço de geração permanente foi removido no recurso Java 8.
Resumir
O exposto acima está o conteúdo inteiro deste artigo apresenta brevemente o mecanismo de coleta de lixo Java, e espero que seja útil para todos. Amigos interessados podem continuar se referindo a outros tópicos relacionados neste site. Se houver alguma falha, deixe uma mensagem para apontá -la. Obrigado amigos pelo seu apoio para este site!