Could you please shade some light on these two terms � heap allocated and stack allocated. Here is a sentence I am not sure what it means �Variables defined as primitive boolean type default to false on declaration within a class (i.e. heap allocated), but must be explicitly initialized within methods (i.e. stack allocated). Can some one explain what all this means?