\3. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(对象可能在常量池里)(字符串常量对象存放在常量池中。); \4. 静态域:存放静态成员(static定义的); \5. 常量池:存放字符串常量和基本类型常量(public static final)。有时,在嵌入式系统中,常...
java 堆 常量池 java 堆栈 方法区 常量池 Java的JVM的内存可分为3个区:堆(heap)、栈(stack)和方法区(method)也叫静态存储区 堆:用于存放在程序中new出来的对象,.jvm只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本身 栈: 用于存放基本类型的数据变量和对象的引用,但对象本身不...
(2)虚拟机栈(stack) 虚拟机栈描述的是Java方法执行的内存模型:每个方法在执行的过程中都会创建一个栈帧,用于存储局部变量表、操作数栈、动态链接、方法出口等信息 局部变量表中存放了编译期间可知的各种数据类型:boolean byte char short int float long double 对象引用(long和double占用两个局部变量空间slot) 局部...
5. 对于浅蓝色箭头,通过new操作产生一个字符串(“abc”)时,会先去常量池中查找是否有“abc”对象,如果没有则在常量池中创建一个此字符串对象,然后堆中再创建一个常量池中此“abc”对象的拷贝对象,所以,对于String str=new String("abc"),如果常量池中原来没有"abc"则产生两个对象,否则产生一个对象。 而对...
3、全局区(静态区)(static):全局变量和静态变量的存储都是在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域, 程序结束后有系统释放 。 4、常量区:常量、字符串常量池就是放在这里的, 程序结束后由系统释放。