内存
JAVA是在JVM所虚拟出的内存环境中运行的,JVM的内存可分为三个区:
堆(heap)、栈(stack)和方法区(method)。
栈(stack)
是简单的数据结构,但在计算机中使用广泛。栈最显著的特征是:LIFO(Last In, First Out, 后进先出),栈中只存放基本类型和对象的引用
堆(heap)
堆内存用于存放由new创建的对象和数组。在堆中分配的内存,由java虚拟机自动垃圾回收器来管理。JVM只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本身。
方法区(method)
又叫静态区,跟堆一样,被所有的线程共享。方法区包含所有的class和static变量