类加载机制与反射
JVM和类,当调用java命令运行某个java程序时,该命令会启动一个java虚拟机进程,不管该java程序有多么复杂
该程序启动了多少个线程,他们都处于该java虚拟机进程里,同一个JVM的所有线程,所有变量都处于同一个进程里
他们都使用JVM进程的内存区,当系统出现一下几种情况时,JVM进程将被终止:
(1)程序运行到最后正常结束
(2)程序运行到使用System.exit()或Runtime.getRuntime().exit()代码处结束程序
(4)程序所在的平台强制结束了JVM进程
public class A{
//定义该类的类变量
public static int a=9;
}
public class Test{
public static void main(String[] args){
//创建A的实例
A a1=new A();
a1.a++;
System.out.println(a1.a);
}
}
public class Test1{
public static void main(String[] args){
//创建A的实例
A a2=new A();
a2.a++;
System.out.println(a2.a);
}
}
运行Test和Test1是两次运行了JVM进程,第一次JVM结束偶,它对A类所做的修改将全部丢失-第二次运行JVM
时再次将初始化A类