tisdag 22 maj 2012

Heap and stack

Lecture 14 handlade om memory allocation, heap and stack.

Heap
- här sparas de dynamiska variablerna, ex  = new GOval( ... )
- "växer nedåt", adresserna ökar

Stack
- Lokala variablar och parametrar. När programmet stängs så försvinner dessa.
- "växer uppåt", adresserna minskas

Att se som postlådor med olika adresser.

OBS! Gällande objekt. Om du kallar på en metod och skickar med ett objekt så skickar du själva objektet och inte en kopia. Vilket innebär att om du ändrar i objektet i den metoden och skickar det vidare så har du ändrat objektet. (Tänk Mona Lisa som du sågar itu).
You are passing by object (reference)

Detta till skillnad gällande primitiva värden (int, double, boolean, char) där "you pass by value".