问题1:定义一个数组如:int[] arr = new int[5].当你要访问arr[5]的时候就发生了内存泄露。你说的资源没有释放也是会发生内存泄露的一种吧。
问题2:如果正在运行的文件流资源没有被正常释放。不一定会造成内存泄露。但是如果继续打开多个资源,而不关闭的话,把分配给虚拟机的内存资源给占用完了,这样就会造成内存泄露的。因为分给虚拟机的内存大小是固定的。
如果资源未释放不存在内存泄露,那相同文件是否能够被其它虚拟机进程调用?
这个问题,如果你说的这个指在硬盘上存的文件,那是可以的。如果这个文件你指的是已经被现在的虚拟机调用的内存中的文件的话,是不可以的。因为如果你再调用一个虚拟机的话,会再在电脑的内存中分配给一块区域给这个新的虚拟机。这两个虚拟机内存地址是不同的。
|