Java中变量及数组内存图内存划分[color=rgb(51,]堆(heap):用于存储对象或数组。new的东西,都在这里
[color=rgb(51,]本地方法栈:JVM使用操作系统功能时使用,与我们开发关系小
变量内存图程序执行流程进栈
file:///E:/Java%25E7%25B3%25BB%25E5%2588%2597/JavaEE%25E5%259F%25BA%25E7%25A1%258018%25E6%259C%259F/%25E6%2584%259F%25E8%25A8%2580/image/%25E5%258E%259F%25E5%259B%25BE.png?lastModify=1535506373
[color=rgb(51,]①JVM找到程序的入口main方法,main方法进栈,在栈中开辟空间
[color=rgb(51,]③执行打印语句,控制台显示a=10,b=20
[color=rgb(51,]⑤开辟空间存储变量temp并赋值,
[color=rgb(51,]file:///E:/Java%25E7%25B3%25BB%25E5%2588%2597/JavaEE%25E5%259F%25BA%25E7%25A1%258018%25E6%259C%259F/%25E6%2584%259F%25E8%25A8%2580/image/%25E5%2587%25BA%25E6%25A0%25881.png?lastModify=1535506373
[color=rgb(51,]②执行打印语句,得到a=10;b=20;
[color=rgb(51,]程序执行流程
进栈
[color=rgb(51,][color=rgb(51,]file:///E:/Java%25E7%25B3%25BB%25E5%2588%2597/JavaEE%25E5%259F%25BA%25E7%25A1%258018%25E6%259C%259F/%25E6%2584%259F%25E8%25A8%2580/image/%25E6%2595%25B0%25E7%25BB%2584.png?lastModify=1535506373
[color=rgb(51,]②开辟空间存储int数组类型变量 arrayA
[color=rgb(51,]④在栈中开辟空间存储int类型数组变量 arrayB
[color=rgb(51,]⑥通过地址值在堆中找到下标[0]位置元素,并把10存储到数组[0]位置
[color=rgb(51,]main方法出栈
堆中的数组等待垃圾回收器收集
|
|