当然不会,因为gc用的是引用计数(ref count)原理。当你执行String[] atemp = {"",""};时,在堆里分配了一个空间放String[],同时在栈里分配了4bytes放指向堆中String[]的指针atemp。String[]的指针计数为1。当pcm.addElement(atemp);时,pcm中就有一个指针指向了String[],String[]的指针计数为2。当while循环结束时,释放了atemp这个指针(4bytes)。这时String[]的指针计数为1。只有当指针计数为0的堆中内存才会被垃圾处理掉。当然实际上没有这样简单,比如互相应用的问题等。