A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© SeeYouLater 初级黑马   /  2018-8-29 09:40  /  909 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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方法出栈
堆中的数组等待垃圾回收器收集


出栈1.png (33.52 KB, 下载次数: 16)

出栈1.png

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马