@franticnick
Vidi, nemoj da se ljutiš, ali lupio si najžešće. I kao potvrdu naveo još veću glupost. Mogao bih nadugačko da ti objašnjavam ali me mrzi i nemam vremena. Ono šta je bitno da shvatiš je da je u momentu kad se izvodi b = new Integer() alocira se novo parče memorije. Tako se kreira nova referenca za promenljivu b, a promenljiva a nastavlja da živi "svoj život". Vrednost promenljive b se briše a memorijska lokacija oslobađa (Garbage collector) odmah nakon završetka funkcije change, zato što nema nijedne promenljive sa širim scope-om koji bi čuvao tu refrencu.
Još gore, za primer si uzeo i klasu Integer, koja je zapravo immutable wrapper oko primitive int. Zanimljivo je da si mogao da uzmeš i promenljivu tipa int da "potvrdiš" da se "u Javi sve prenosi po vrednosti".
Savet: Thinking in Java, Bruce Eckel.
Vidi, nemoj da se ljutiš, ali lupio si najžešće. I kao potvrdu naveo još veću glupost. Mogao bih nadugačko da ti objašnjavam ali me mrzi i nemam vremena. Ono šta je bitno da shvatiš je da je u momentu kad se izvodi b = new Integer() alocira se novo parče memorije. Tako se kreira nova referenca za promenljivu b, a promenljiva a nastavlja da živi "svoj život". Vrednost promenljive b se briše a memorijska lokacija oslobađa (Garbage collector) odmah nakon završetka funkcije change, zato što nema nijedne promenljive sa širim scope-om koji bi čuvao tu refrencu.
Još gore, za primer si uzeo i klasu Integer, koja je zapravo immutable wrapper oko primitive int. Zanimljivo je da si mogao da uzmeš i promenljivu tipa int da "potvrdiš" da se "u Javi sve prenosi po vrednosti".
Savet: Thinking in Java, Bruce Eckel.
Potpis
OTPOR blokadi ulica, OTPOR blokiranom Beogradu, OTPOR blokiranoj Srbiji