摘要: 引用自蛊惑Into博客园:Java把内存分成两种,一种叫做栈内存,一种叫做堆内存在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后,java会自动释放掉为该变量分配的内存空间,该内存空间可以立刻被另作他用。堆内存用于存放由new创建的对象和数组。在堆中分配的内存,由java虚拟机自动垃圾回收器来管理。在堆中产生了一个数组或者对象后,还可以在栈中定义一个特殊的变量,这个变量的取值等于数组或者对象在堆内存中的首地址,在栈中的这个特殊的变量就变成了数组或者对象的引用变量,以后就可以在程 阅读全文
posted @ 2013-11-12 10:46 StonySven 阅读(779) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2013-11-12 10:31 StonySven 阅读(124) 评论(0) 推荐(0)
摘要: 1、Java虚拟机将硬盘中的person.class文件加载入内存;2、执行该类中的static代码块,如果有的话,给person.class类进行初始化;3、在堆内存中开辟空间,分配内存地址;4、在堆内存中建立对象的特有属性,并进行默认初始化;5、对属性进行显示初始化;6、对对象进行构造代码块初始化;7、对对象进行对应的构造函数初始化;8、将内存地址赋给栈内存中的p变量(栈内存);对象调用过程 阅读全文
posted @ 2013-11-12 09:33 StonySven 阅读(493) 评论(0) 推荐(0)