静态变量:
也称为类变量!在程序加载时系统就为它在堆中开辟了内存,堆中的内存地址存放于栈以便于高速访问。静态变量的生命周期--一直持续到整个"系统"关闭。
实例变量:
当你使用java关键字new的时候,系统在堆中开辟并不一定是连续的空间分配给变量(比如说类实例),然后根据零散的堆内存地址,通过哈希算法换算为一长串数字以表征这个变量在堆中的"物理位置"。 实例变量的生命周期--当实例变量的引用丢失后,将被GC(垃圾回收器)列入可回收“名单”中,但并不是马上就释放堆中内存。
局部变量:
局部变量,由声明在某方法,或某代码段里(比如for循环),执行到它的时候在堆中开辟内存,其引用被置于一个连续的栈中提供高速访问。当局部变量一但脱离作用域,内存立即释放。
java 变量区别
2010年11月10日 19:17