`
andey007518
  • 浏览: 21811 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

java变量的作用域:

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

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

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

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

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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics