java 变量区别
Java变量

java变量

adam posted @ 2010年11月10日 19:27 in java , 970 阅读

1. 类的静态变量在内存中只有一个。静态变量位于方法区,被类的所有实例共享。静态变量的生命周期取决于类的生命周期(即类何时被加载和卸载)。

2. 类的每个实例都有相应的实例变量。实例变量位于堆区中。实例变量的生命周期取决于实例的生命周期(即实例何时被创建及销毁)。

3. 假如成员变量(包括静态变量和实例变量)是引用变量,那么当该成员变量结束生命周期时,并不意味着它所引用的对象也一定结束生命周期。变量的生命周期
和对象的生命周期是两个不同的概念。

4. 局部变量位于栈区,其生命周期取决于所属的方法何时被调用及结束调用。

     总结一下:
     局部变量位于栈区,静态变量位于方法区,实例变量位于堆区,方法的字节码位于方法区,对象本身位于堆区,对象的引用位于栈区。


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter