Java对象的强引用软引用弱引用和虚引用在JDK1.2以前的版本中当一个对象不被任何变量引用那么程序就无法再使用这个对象也就是说只有对象处于可触及状态程序才能使用它这就像在日常生活中从商店购买了某样物品后如果有用就一直保留它否则就把它扔到垃圾箱由清洁工人收走一般说来如果物品已经被扔到垃圾箱想再把它捡回来使用就不可能了但有时候情况并不这么简单你可能会遇到类似鸡肋一样的物品食之无味弃之可惜这种物
Android 应用程序内存泄漏的分析以前在学校里学习Java的时候总是看到说java是由垃圾收集器(GC)来管理内存回收的所以当时形成的观念是Java不会产生内存泄漏我们可以只管去申请内存不需要内存回收GC会帮我们完成呵呵很幼稚的想法GC没那么聪明啊理论及事实证明我们的Java程序也是会有内存泄漏的Java内存泄漏从何而来一般来说内存泄漏有两种情况一种情况如在CC语言中的在堆中的分配的
在JAVA中有六个不同的地方可以存储数据: 1. 寄存器(register)这是最快的存储区因为它位于不同于其他存储区的地方——处理器内部但是寄存器的数量极其有限所以寄存器由编译器根据需求进行分配你不能直接控制也不能在程序中感觉到寄存器存在的任何迹象 2. 堆栈(stack)位于通用RAM中但通过它的堆栈指针可以从处理器哪里获得支持堆栈指针若向下移动则分配新的内存若向上移动则释放那些内存这是