Java垃圾回收機(jī)制中有兩個核心的概念:堆棧和堆。堆棧指的是程序中的方法執(zhí)行區(qū)域,而堆則是程序中動態(tài)分配內(nèi)存的區(qū)域。下面我們來詳細(xì)了解一下這兩個概念:
一、堆棧
Stack stack1 = new Stack(); stack1.push("A"); stack1.push("B"); stack1.push("C"); String top = (String) stack1.peek(); while(!stack1.empty()) System.out.println(stack1.pop());
在上面的代碼中,我們創(chuàng)建了一個堆棧對象stack1,并向其中添加了三個元素:A、B和C。使用peek()方法可以返回堆棧的頂部元素,使用pop()方法可以將堆棧頂部的元素彈出并返回。當(dāng)堆棧為空時,調(diào)用empty()方法會返回true。
二、堆
Listlist = new ArrayList (); for (int i = 0; i< 1000000; i++) { list.add(i); }
在上面的代碼中,我們創(chuàng)建了一個ArrayList對象,并向其中添加了100萬個整數(shù)。由于堆區(qū)域大小是動態(tài)分配的,因此當(dāng)我們不再需要其中的某些元素時,Java垃圾回收機(jī)制會自動將其回收,以釋放內(nèi)存。
總之,堆和堆棧都是Java程序中重要的概念,理解它們的操作和用法對于寫出高效、正確的代碼非常有幫助。