您的位置:首页 > 编程语言 > Java开发

Java 开发中之十一:浅谈java中的垃圾回收机制及变量内存分配

2013-03-29 21:03 399 查看
Java的内存分配上,主要分4个块!
一块是用来装代码的,就是编译的东西。
一块是用来装静态变量的,例如用static关键字的变量,例如字符串常量。
一块是stack,也就是栈,是用来装变量和引用类型的!但区别在于,装了变量以后,变量上是有值的,而引用类型本身在stack上是没有值的。
一块是heap,也就是堆!堆可以一句话概括,装new出来的东西!

所以综上所述,基本数据类型都在stack中,而引用类型,变量是放在stack中,真正有内容的东西放在heap中,也就是当new了一个新的引用类型,他就会放在堆中,同时栈中的引用类型变量会指向堆中你new出来的东西!

值类型传递的是拷贝的一个值,而引用类型传递的是栈中的地址,变量在方法执行完后就自动断开(由GC自动回收)
堆扫描机制,不停的检查堆中的内存是不是没有栈中变量指向它,如果没有就自动回收这批这批空间。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: