JVM ---- nueva generación, de antaño, nombre permanente

  Desde la perspectiva de Java montón GC también puede ser dividido en: la nueva generación (Eden District, desde el distrito sobreviviente sobreviviente y la región) y el año de edad .


 

 

 

  Cenozoico:

    El objeto se utiliza para almacenar el recién nacido. En general ocupan un tercio del espacio de almacenamiento dinámico. Debido a la frecuente crear un objeto, por lo que la nueva generación con frecuencia desencadenar MinorGC recolección de basura. Eden Cenozoico se divide en zonas, ServivorFrom, ServivorTo 3 distritos.


Menor y el Mayor GC GC diferencias:

Menor GC GC fácil de entender lo que pasó a la generación joven. Tres pasos ( copia - Vacío - swap)
  condiciones de disparo Menor GC son:

    Cuando se genera un nuevo objeto, el nuevo objeto preferentemente repartió área de Eden. Si el objeto no se ajusta a la zona Eden, la oportunidad de utilizar el algoritmo copia virtual se produce una vez GC Minor, la limpieza de objetos no deseados, objetos vivos mientras se mueve a una de las regiones de sobrevivientes (área tospace fromspace o región).

    máquina virtual para cada objeto define una edad objetivo (edad) contadores, los objetos en el área de todos los supervivientes "conseguir a través de" un GC, la edad será 1. Hasta la edad llega a cierta edad (el valor por defecto es de 15 años de edad), la máquina virtual se moverá objetos a la vieja generación.

    Si un objeto recién nacido cuando el área de Eden no puede asignar el espacio, entonces Minor GC se produce. Se le ocurrió MinorGC, el objeto va a entrar en la zona de Eden District sobreviviente, sobreviviente si la zona no se ajusta al objeto vino de la zona Eden, esta vez utilizando el mecanismo de garantía de asignación mueve el objeto directamente a la vieja generación.

    1. En primer lugar Yong GC (GC Minor), Eden zona también objetos vivos copiados en la región Surviver "A" zona "A partir de" objetos en las cercanías también vivo copiados en "A" región,

    2. A partir de entonces vaciar el área de Edén y la zona, por lo que es equivalente a "De" zona está completamente vacío, mientras que el área "A" no habrá producido la fragmentación de memoria,

    3. Cuando el segundo espera Yong GC, "Desde" y el área "A" zona de los papeles se invirtieron, una buena solución al problema de la fragmentación de la memoria.

  condiciones de disparo Mayor CG:

    Mayor CG también conocido como GC completa. El año en que la vieja generación de espacio no es suficiente, la oportunidad de utilizar la "bandera - Borrar" virtual o "marca - acabado" algoritmo para limpiar un espacio de memoria continua objetos asignados.

  

  años de edad:

  La principal aplicación se almacena en un objeto de memoria largo ciclo de vida.

   vejez objeto es relativamente estable, por lo MajorGC no se realiza con frecuencia. MajorGC antes de hacer primero lo general llevado a cabo una MinorGC, hace que la nueva generación de objetos se unió a la vieja era, cuando el espacio no es suficiente para conductores del gatillo.

   Cuando no se puede encontrar un espacio contiguo suficientemente grande como para asignar un objeto grande recién creada dará lugar a un avance MajorGC para la recolección de basura para liberar espacio.

   MajorGC usando algoritmo de marca y barrido : primeras exploraciones de una vez toda la vieja era, marcada supervivencia del sujeto, y luego recuperar el objeto no está marcada. MajorGC consume mucho tiempo, ya que desea reciclar exploración relativamente largo. MajorGC producirá la fragmentación de memoria, con el fin de reducir el consumo de memoria, por lo general, necesitamos ser fusionado o marcados para la próxima distribución directa. Cuando el año de edad estaba en forma completa y que arrojará anomalías OOM (Out of Memory) .

 

  Generación Permanente:

Se refiere a un área de almacenamiento de la memoria permanente, la información principal se almacena y Clase Meta (metadatos), se coloca de forma permanente región Clase cuando está cargado, y es diferente y el área de almacenamiento por ejemplo, el programa principal no se ejecutará en el GC permanente área limpia. Por lo que también llevó a la zona de generación permanente será cargado con el aumento de la clase de plenitud y, finalmente, ha producido una excepción OOM.

    JAVA8 metadatos:

    En Java8, nombre permanente se ha eliminado "que se conoce como una zona de Meta Data " ( metaespacio región) sustituido.

    Yuan y la naturaleza permanente del espacio a gusto, la mayor diferencia entre el yuan y el espacio permanente en nombre de ese: Yuan no es el espacio en una máquina virtual, pero el uso de la memoria local . Por lo tanto, de forma predeterminada, el tamaño del espacio de elementos sólo por el límite de la memoria local.

    metadatos Class en la memoria nativa, secuencia variable de clase estática en piscinas y almacenamiento dinámico de Java , de manera que los metadatos puede ser el número clase cargada ya no es controlado por el MaxPermSize, y el espacio real disponible es controlada por el sistema.

 

Supongo que te gusta

Origin www.cnblogs.com/crazy-lc/p/12636927.html
Recomendado
Clasificación