黑马程序员技术交流社区

标题: 关于内存的笔记 [打印本页]

作者: DaoDao2    时间: 2016-8-29 23:27
标题: 关于内存的笔记
内存图:
                        代码:
                                public static void main(String[] args) {
                                        Car car = new Car();
                                        car.color = "红色";
                                        car.count = 5;
                                        car.run();
                                }
                        内存中的执行顺序:
                                1、main函数进栈,然后从main函数的第一行代码开始执行。
                                2、在栈内创建Car类的引用car,等待接收堆中传过来的地址值。
                                3、看到new Car()会在堆内存开辟一块儿空间。
                                4、该类的成员变量进堆,系统给出默认值。
                                5、至此,对象创建完毕,把堆中对象的地址值赋值给栈中的引用car。
                                6、执行car.color = "红色"; 把对象的color属性值改为"红色"。
                                7、执行car.count = 5; 把对象的count属性值改为5。
                                8、执行car.run(); run()方法进栈,开始执行run()方法。
                                9、run()执行完毕后弹栈。
                                10、main()函数弹栈,程序结束。
                                //先这么记忆,不严谨。  类加载器,构造方法
作者: 细听风语为梧桐    时间: 2016-8-30 21:32
收到了,谢谢分享
作者: 小超超    时间: 2016-8-30 22:09
恩,非常适合初学者。
作者: DaoDao2    时间: 2016-8-30 23:35
哈哈哈哈哈




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2