1, o histograma histograma
Figura 1
2, profunda e pilha pilha rasa (do "java Performance Tuning" Geyi Ming)
Rasa pilha (Shallow Heap) e deep-pilha (Retenção Heap) são dois conceitos muito importantes, que representam a estrutura de um objeto e o tamanho da memória ocupada por um objeto a ser recuperado GC, pode liberar o tamanho da memória real.
A falta de pilha (Raso Heap) refere-se a um consumo de memória alvo. No sistema de 32 bits, uma referência para o objecto ocupa quatro bytes, um int ocupa quatro bytes, tipo longo ocupará 8 bytes, cada objecto tem de ocupar os primeiros 8 bytes.
FIG 2, estrutura de classe String (String.java -> Direito -> Mostrar Diagrams-> selecionado a partir do campo de exibição f)
Reservado Set (Retenção Set): Reservado Set objeto Um refere-se a todos os objetos na coleção após o objeto atual Um é lixo, será lançado (incluindo o próprio objeto A), que é definido para reter o objeto A pode ser considerado apenas pelo objeto A ele é definido direta ou indiretamente, acessível a todos os objetos. Em termos genéricos, refere-se a um conjunto de objectos Um objecto retida.
deep stack (Retenção Heap) : Reservas sujeitas rasa tamanho foco pilha de todos os objetos e.
Nota: refere-se à memória heap superficial ocupada pelo objeto em si, não incluindo o tamanho de seu objeto de referência interna. Refere-se a profundidade de um objecto pilha só pode ser acedido através do objecto de (directa ou indirectamente) de todos os objectos e a pilha de luz, isto é, o objecto é recuperado, o espaço real pode ser libertado.
3, as relações entre objectos de referência