内存区分
- 寄存器Registers:用于存储指令、地址、数据。
- 栈Stack:存放基本类型的数据、对象的引用和函数地址等,由系统控制。
- 堆Heap:存放对象本身和数组,由开发者控制。
- 静态域static field:存储静态变量。
- 常量池constant pool:存储常量。
开发者能够控制的内存,基本在于堆和栈区域,它们的区别如下所示:

常用内存类型:
- VSS-Virtual Set Size虚拟耗用内存(包含共享库占用的内存)。
- RSS-Resident Set Size实际使用物理内存(包含共享库占用的内存)。
- PSS-Proportional Set Size实际使用的物理内存(比例分配共享库占用的内存)。
- USS-Unique Set Size进程独自占用的物理内存(不包含共享库占用的内存)。
一般来说内存占用大小有如下规律:VSS≥RSS≥PSS≥USS。
