As per JLS (Java Language Specification), "A Java virtual machine starts execution by invoking the main() method of some specified class, passing it a single argument, which is an array of strings".
Definition of your main method should be as below
public static void main(String args)
public - your method should be accessible from anywhere
static - Your method is static, you can start it without creating an instance. When JVM starts, it does not have any instance of the class having main method. So static.
void - It does not return anything.
Henceforth, the main() method is predefined in JVM to indicate as a starting point.
Hope that helps!