Senin, 12 Desember 2011

VARIABLE DAN MEMORY MANAGEMENT

Program java akan berada pada stack dan heap pada daur hidupnya. Instance variable dan object selalu berada didalam heap sedangkan local variable berada didalam stack.

public class Person{
           private Long id;  // instance variable
           private String nama; // instance variable

           public Long getId(){
                       return id;
           }
           public void setId(Long i){ // local variable
                        id = i;
           }
           public String getNama(){
                       return nama;
           }
           public void setNama(String n){ // local variable
                       nama = n;
           }
           public static void main(String[] args){
                      Person saya; // local variable , reference variable
                      saya = new Person(); // instansiasi object saya
                      saya.setId(18l);
                      saya.setNama("nama saya");
                      System.out.println(saya.getId());
                      System.out.println(saya.getNama());

                      Person klonenganSaya = saya; // local variable yang menunjuk ke object yang saya
                      klonenganSaya.setNama("klonengan saya");
                      System.out.println(klonenganSaya.getId());
                      System.out.println(klonenganSaya.getNama());
           }



local variable adalah variable yang berada didalam method, variable ini hanya hidup selama method dieksekusi, jika program keluar dari method maka variable ini akan diserahkan ke garbage collector untuk dibersihkan.

reference variable adalah variable yang menunjuk ke object, seperti saya dan klonenganSaya, jika nilai di klonenganSaya diganti maka dinilai di saya ikut berubah, karena menunjuk ke object yang sama.

instance variable adalah variable yang dideklarasikan didalam class seperti id dan nama.

Tidak ada komentar:

Posting Komentar