Stack to pamięć per‑wątek przechowująca ramki wywołań, lokalne prymitywy i referencje; jest alokowana/zwalniana przy wejściu/wyjściu z metody i działa bardzo szybko. Heap to współdzielona pamięć, gdzie znajdują się obiekty i tablice; zarządza nią GC i obiekty zwykle żyją dłużej niż jedno wywołanie metody.