根据定义,类的静态方法,静态变量是在类装载的时候装载的。静态变量我能理解,预先加载一个内存区域。但是我无法理解静态方法的预装载性。静态方法中可以声明变量,这个变量是局部变量。例如:public static void function(){
int a=1;
}这个静态方法中只是声明了一个局部变量a,没有其他任何操作。但是据我所知局部变量是在使用的时候才开辟内存,既然是这样,那么预加载静态方法时到底是进行的什么操作(请注意我这个方法中没有其他任何语句)?还有一个问题,有多个语句同时调用这里的静态function()方法时,对于局部变量a到底是如何进行处理的?
int a=1;
}这个静态方法中只是声明了一个局部变量a,没有其他任何操作。但是据我所知局部变量是在使用的时候才开辟内存,既然是这样,那么预加载静态方法时到底是进行的什么操作(请注意我这个方法中没有其他任何语句)?还有一个问题,有多个语句同时调用这里的静态function()方法时,对于局部变量a到底是如何进行处理的?
但是我无法理解静态方法的本质,java虚拟机在加载静态方法的时候到底是做了什么?静态变量的加载和静态方法的加载我感觉肯定是有很大区别的。