różnice między STACK oraz HEAP

0

hej, mógłby ktoś wyjaśnić czym się różni STACK od HEAP?

0

http://pl.wikipedia.org/wiki/Stos_(informatyka)
http://pl.wikipedia.org/wiki/Sterta_(informatyka)
W kontekście javy wszystkie obiekty tworzone przez new tworzysz na stercie. Na stosie lądują jedynie adresy skoków powrotnych po wywołaniu metod i (chyba) prymitywy, bo są przekazywane przez wartość

0

@Shalom, chyba nie. Literał

String s=new String("Idę na stos");

idzie tam gdzie deklaruje.

3

Heap jest częścią pamięci gdzie żyją obiekty Javy i to na tej części pamięci pracuje Garbage Collector (utrzyjmuąc ją jak najmniejszą).

Heap - zmienne instancji klasy i obiekty
Stack - zmienne lokalne

Do przechowywania string-ów wykorzystywana jest w Javie String constant pool, któy jest przychowywana w "permgen" heap. Więcej znajdziecie tutaj

String s=new String("Idę na stos");

W takim przypadku Java stworzy obiekt new String na stercie (normalnej nonpool) i zmienna s będzie na nią wskazywać. A dodatkowo "Idę na stos" będzie umieszczona w constatnt pool.

1 użytkowników online, w tym zalogowanych: 0, gości: 1