The first one uses the
varargs syntax. Note that they are not really different main() methods, just the syntax looks different. You couldn't make two main() methods with both signatures:
This does not compile, because the two methods have the same signature (i.e., you do not have two overloaded main() methods).