static is a keyword,when it is applied before main method,JVM will be assumes that this is the starting point of execution.so y JVM think like that?
java soft people given to JVM as responsibility to enter the specified class through main() method
EX:
suppose there are two classes A nd B,
where B extends A,
here as per java,for every class a object should be created for accessing variables and methods in that class,here in class B static main() method is wrote, static is word as says irrespective of program excution starts..it will be allocated memory for that keyword before Program excution.