java中的静态变量和实例变量的生命周期
2012-12-03 10:09
239 查看
类的成员变量有两种:一种是被static关键字修饰的变量,叫类变量或静态变量,一种是没有被static修饰的,叫做实例变量 。
静态变量和实例变量的区别在于:
类静态变量在内存中只有一个,java虚拟机在加载类的过程中为静态变量分配内存,静态变量位于方法区,被类的所有实例共享,静态变量可以通过类名直接访问。静态变量的生命周期取决于类的生命周期,当类被加载的时候,静态变量被创建并分配内存空间,当类被卸载时,静态变量被摧毁,并释放所占有的内存。
类的每一个实例都有相应的实例变量,每创建一个类的实例,java虚拟机为实例变量分配一次内存,实例变量位于堆区中,实例变量的生命周期取决于实例的生命周期,当创建实例时,实例变量同时被创建,并分配内存,当实例被销毁时,实例变量被销毁,并释放所占有的内存空间。
变量的生命周期和对象的生命周期是不同的概念。成员变量结束生命周期时,并不意味着它所引用对象也结束生命周期。
转载地址:/article/9642168.html
静态变量和实例变量的区别在于:
类静态变量在内存中只有一个,java虚拟机在加载类的过程中为静态变量分配内存,静态变量位于方法区,被类的所有实例共享,静态变量可以通过类名直接访问。静态变量的生命周期取决于类的生命周期,当类被加载的时候,静态变量被创建并分配内存空间,当类被卸载时,静态变量被摧毁,并释放所占有的内存。
类的每一个实例都有相应的实例变量,每创建一个类的实例,java虚拟机为实例变量分配一次内存,实例变量位于堆区中,实例变量的生命周期取决于实例的生命周期,当创建实例时,实例变量同时被创建,并分配内存,当实例被销毁时,实例变量被销毁,并释放所占有的内存空间。
变量的生命周期和对象的生命周期是不同的概念。成员变量结束生命周期时,并不意味着它所引用对象也结束生命周期。
转载地址:/article/9642168.html
相关文章推荐
- Java 静态变量和实例变量的生命周期
- java中的静态变量和实例变量的生命周期
- java中的静态变量和实例变量的生命周期
- Java 静态变量和实例变量的生命周期
- Java学习疑点(2)--被static修饰的静态变量与实例变量之间生命周期的区别
- java中的静态变量和实例变量的生命周期
- 解析Java中静态变量与实例变量的区别
- Java 中静态变量与实例变量的区别
- 解析Java中静态变量与实例变量的区别
- java 静态变量和实例变量的区别
- JNI/NDK开发指南(七)——C/C++访问Java实例变量和静态变量
- Java父类与子类中静态代码块 实例代码块 静态变量 实例变量 构造函数执行顺序
- Java 中静态变量与实例变量的区别
- Java线程安全 之 静态变量、实例变量、局部变量
- 解析Java中静态变量与实例变量的区别
- Java中静态变量与实例变量的区别
- Java 的静态变量和实例变量
- Java初始化顺序,静态变量,static块,实例变量,构造器的初始化顺序
- java中静态变量、实例变量、局部变量的线程安全性
- Java 中静态变量和实例变量区别