Este artigo analisa mais detalhadamente o método de destruição de objetos em Java. Compartilhe com todos para sua referência. A análise específica é a seguinte:
Variáveis de tipo de dados básicos e variáveis de referência de nome de objeto em Java são todas variáveis locais se forem definidas em um método. Mas o objeto em si não tem necessariamente um ciclo de vida local. Se existirem outras variáveis de referência ao objeto fora da função, o ciclo de vida do objeto se estende até o bloco onde as outras variáveis de referência estão localizadas.
Se o valor ou valor de retorno for passado da referência de parâmetro da função chamada para a variável de tipo de objeto da função de chamada principal, o objeto ainda existe (mas o ciclo de vida da variável de referência do objeto da função chamada termina, então a variável de referência é uma variável local), neste momento o objeto rompe o tempo de vida local da variável local.
Destruição de objetos Java
O coletor de lixo em Java verifica automaticamente a memória dinâmica dos objetos Java regularmente e marca todos os objetos de referência. Depois que o objeto é executado (nenhuma variável de referência está associada ao objeto), ele limpa suas marcas e todos os objetos não marcados são reciclados como lixo. e o espaço de memória ocupado pelos objetos de lixo é liberado.
Após a execução do objeto ou quando seu ciclo de vida terminar, ele se tornará um objeto de lixo, mas isso não significa que será reciclado imediatamente. Eles só serão reciclados quando o coletor de lixo estiver ocioso ou não houver memória suficiente.
Cada objeto em Java possui um método finalize():
finalização nula protegida () lança Throwable{}
O coletor de lixo chama automaticamente o método finalize() do objeto para liberar recursos do sistema ao reciclar um objeto.
protótipo da função finalize():
protected void | finalize () Chamado pelo coletor de lixo em um objeto quando o lixocoleção determina que não há mais referências a o objeto. |