Tipuri de memorie în Java, kdiv - s Blog

Toate memoria pentru JVM:
- Heap Mem (HEAP) - un depozit pentru obiecte Java
- NU-Heap-memorie (NEKUCHA) - Folosit Xia Dzhava pentru a stoca clase descărcate
și alte meta-date. piscină String, sau un set de rânduri într-o grămadă? *, Etc.
- codul JVM sine, JVM agent de structura internă de cod descărcate, date etc.

Tipuri de memorie în Java, kdiv - s Blog

într-o grămadă - două părți: generarea de noi și de memorie de generație veche.
Noua generație: Eden pentru noul obiect, două spații de supraviețuitor (de la și la) aceeași dimensiune-stocate acolo după ce au supraviețuit obiecte GC.
în generație veche: aici obiecte de lungă durată

*. situat în zona de memorie numită Java Heap - heap, care stochează toate variabilele create de software-ul aplicației.

Fără configurație, un JVM client folosește acest calcul pentru spațiile:

Astfel, procesul de memorie este diferit în heap (grămadă) și non-heap (stivă) de memorie, și este format din 5 zone (bazine de memorie, spații de memorie):
1 • Eden Space (heap) - alocarea de memorie pentru toate obiectele create de program în acest domeniu. Cele mai multe dintre scurtă durată a obiectelor (iteratori, obiecte temporare care sunt utilizate în cadrul metodelor și altele asemenea), și se elimină atunci când colecțiile de memorie de gunoi nu va fi mutat într-o altă zonă de memorie. Când această zonă este umplută (adică, cantitatea de memorie alocată în acest domeniu depășește un anumit procentaj specificat), GC efectuează o rapid de colectare a gunoiului (minor de colectare). Comparativ cu colectarea gunoiului completă este nevoie de un pic de timp, și afectează numai zona de memorie - șterge învechit obiecte Eden Space și se mută obiectele care au supraviețuit în zona următoare.
2 • Survivor spațiu (heap) - aici se deplasează obiecte din cea anterioară, după ce au experimentat cel putin o colectare a gunoiului. Din când în când obiecte de lungă durată din acest domeniu sa mutat la Space Titular.
3 • Titular (vechi) Generation (heap) - Aici acumula obiecte de lungă durată (obiecte mari de nivel înalt, singletons, manageri de resurse, și așa mai departe.). Atunci când această zonă este plină, efectuați o colecție completă de gunoi (, o colecție majoră completă), care se ocupă de toate obiectele început JVM.
4 • Generarea permanentă (non-heap) - meta informații stocate aici utilizate JVM (utilizat de clase, metode și altele asemenea). BEA
5 • Codul Cache (non-heap) - Această zonă este JVM, atunci când este activată JIT-compilare, aceasta este stocată în cache platforma compilat - cod dependente.

Tipuri de memorie în Java, kdiv - s Blog
Tipuri de memorie în Java, kdiv - s Blog

articole similare