内存泄漏和内存溢出的区别和联系:
内存泄漏memory leak:是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄漏似乎不会有太大影响,但内存泄漏堆积后的后果就是内存溢出。
内存溢出out of memory:指程序申请内存时,没有足够的内存供内存申请者使用。
栈:基本类型的变量和对象的引用变量存储。
堆:由new等指令创建的对象和数组。运行时动态分配内存,存取速度较慢。
java中引用变量实际上是一个指针,它指向的是堆内存中对象的实例。、引用对象就相当于是为数组或对象起的一个名称。