小程序写过不少,但对于各种内存分配还知之甚少,这回学习JAVA,对这些有了一些浅显了解,写出来,备忘。
对于一些原始类型,我们称为值类型,通常分配的内存空间在栈中,而对于通过new创建的类型,则在堆中。用代码来解释比较好。
public String cursor; public int teachAge; Visitor visitor = new Visitor();
对于上述代码,cursor与teachAge在栈中,visitor也在栈中,而visitor的对象在堆中。我自己把自己绕糊涂了,囧。懒,不想画图,就是栈里的visitor指向堆里为visitor分配的内存,这句话比较清楚。
内存分配对于我来说还是个难题,还需要学习,同样需要学习的还有JAVA中的垃圾回收机制,现阶段我所了解的垃圾回收机制是:JAVA中有个垃圾回收器,定时扫描“空内存”,即没有指针指向的内存,然后将其释放。就这么简单的了解,还不够!还不够。。。