- Code segment
- Stack segment
- Heap segment
Stack segment-local deyisenlerin,metodlarin,referanslarin yerlesdiyi hissedir.
Heap segment ise instance deyisenlerin ve obyektlerin yerlesdiyi hissedir.
class Test{ }
class Run {
Test t; // instance variable
String name; // instance variable
public static void main(String [] args){
Run r; // local variable: r
r=new Run();
r.go(r);
}
void go(Run run){ // local varibale: run
t=new Test();
run.setName("Hale");
}
void setName(String rName){ // local variable: rName
name=rName;
}
}
Yuxarida yazdigim kodu 1-1 arasdiraqki ne nedi.Basladiq:
-main() - metodu stack hissede yerlesir.
-Referance deyisen olan r stack hissede yaradilir,ancaq Run-in obyekti hele yoxdur.
-Sonra yeni Run obyekti yaradilir ve r referansina menimsedilir.
-go() -metodu stack hissede yerlesir,r parametri ile local deyisen kimi.
-new Test() objesi heapde yaradilir ve menimsedilir Test class-nin instance deyiseni olan t-ye.
-setName() stack hisseye elave olunur.
Hiç yorum yok:
Yorum Gönder