JavaSE --- GC

1 、finalizar ()

    1.1. El finalize () de cualquier objeto  solo se puede llamar una vez . Si   GC se ejecuta nuevamente , el finalize () del objeto    no se ejecutará nuevamente ;

2. Área de método (generación permanente) reciclaje

    2.1 Reciclaje principal: constantes abandonadas, categorías inútiles;

3. Algoritmo GC :

    3.1 Mark-clear

        Primero marque toda la memoria que necesita ser reciclada, y luego recíclela uniformemente;

    3.2, algoritmo de copia

        Divida la memoria disponible en 2 bloques de igual tamaño, y solo use uno de ellos a la vez. Cuando se agota un bloque, copie los objetos supervivientes en otro bloque, y luego limpie el único usado;

        Escena:

          Reciclando la nueva generación (Eden, Survivor):

              La máquina virtual predeterminada Eden of the Hotspot: Survivor = 8: 1

            Divide la memoria en un Eden más grande y 2 Survivor más pequeños ---> Eden y un Survivor se usan cada vez

              ---> GC, copia los objetos sobrevivientes de Eden y Survivor a otro Survivor a la vez, y limpia el Edén y el Superviviente usados ​​de una vez;

    3.3. Acabado de marcado

        Marque primero toda la memoria que necesita ser reclamada, y luego mueva todos los objetos supervivientes a un extremo, y borre directamente la memoria fuera del límite final;

        Escena:

          Reciclando la vieja generación

    3.4 Algoritmo de colección generacional

        De acuerdo con el ciclo de vida del objeto, la memoria se divide en varios bloques, y el montón general de Java se divide en la nueva generación y la generación anterior, y se usa el algoritmo GC apropiado de acuerdo con las características de cada generación;

Supongo que te gusta

Origin www.cnblogs.com/anpeiyong/p/12699030.html
Recomendado
Clasificación