JAVA里static 变量在程序执行结束后是否被消毁
2008-07-28 21:46
281 查看
//static变量是属于类的,程序结束后,类所占空间会被回收,
//那么static变量自然也就被销毁了。给你个例子:
public class TestStatic001 {
public static void main(String[] args){
MyStatic.num ++;
System.out.println(MyStatic.num);;
}
}
public class TestStatic002 {
public static void main(String[] args){
System.out.println(MyStatic.num);
}
}
public class MyStatic {
static{System.out.println("被加载……");}
public static int num = 15;
}
//当运行TestStatic001时,会打印MyStatic类的静态块消息,
//且static变量值打印为16,
//运行TestStatic002时也会打印MyStatic类的静态块消息,
//且static变量值为15,如果它在程序一结束后没被销毁,
//那么程序二时就也应该是16的(static变量只会有一个),
//因此可以看出,static变量在程序运行结束后是会被销毁的。
//那么static变量自然也就被销毁了。给你个例子:
public class TestStatic001 {
public static void main(String[] args){
MyStatic.num ++;
System.out.println(MyStatic.num);;
}
}
public class TestStatic002 {
public static void main(String[] args){
System.out.println(MyStatic.num);
}
}
public class MyStatic {
static{System.out.println("被加载……");}
public static int num = 15;
}
//当运行TestStatic001时,会打印MyStatic类的静态块消息,
//且static变量值打印为16,
//运行TestStatic002时也会打印MyStatic类的静态块消息,
//且static变量值为15,如果它在程序一结束后没被销毁,
//那么程序二时就也应该是16的(static变量只会有一个),
//因此可以看出,static变量在程序运行结束后是会被销毁的。
相关文章推荐
- javaSE学习03_java常量和变量程序执行过程
- 黑马程序员_Java基础_02常量、变量、数据类型、运算符、语句、程序执行过程
- linux的shell命令检测某个java程序是否执行
- linux的shell命令检测某个java程序是否执行
- java学习笔记 类初始化 调用static变量是否会初始化
- Java中的static关键字解析(转自海子)__为什么main方法必须是static的,因为程序在执行main方法的时候没有创建任何对象,因此只有通过类名来访问。
- 在一个程序中需要用到全局变量(在多个class之间共享数据),请问如何定义具有这种功能的变量?或者是否有其他的方法解决多个class之间的数据共享(尽量简单实现)。 首先应该明确 Java中没有全局变
- Java中static成员变量、成员变量、static代码块、代码块、构造方法的执行顺序
- java JDK环境变量的配置及在win7控制台下dos执行java小程序
- Java初始化顺序总结及其程序执行过程图- 静态变量、静态代码块、成员变量、构造函数
- java.lang.Runtime.getRuntime().exec 调用后,等待被调用程序结束后再继续执行
- Java 中的 int 与 Integer 用于 List<Integer> 时,以及通过打印变量检測程序执行和函数调用次数计数
- JAVA程序运行过程中成员变量的执行顺序
- Java中子类是否可以继承父类的static变量和方法而呈现多态特性
- 控制一个 Java 程序运行生命周期结束前不能再次被执行
- 学习测试:Java堆栈变量、类变量、实例变量在程序中的执行效率
- java编程思想static之程序执行顺序
- Java中的static变量、方法、代码块初始化执行顺序
- Java中子类是否可以继承父类的static变量和方法而呈现多态特性
- java环境变量对编译java程序的影响