1. public: It is a keyword and denotes that any other class (JVM) can call the main() method without any restrictions. - See more at: http://way2java.com/oops-
2. static: It is a keyword and denotes that any other class (JVM) can call the main() method without the help of an object. More about static is available at static Keyword – Philosophy.
3. void: It is a keyword and denotes that the main() method does not return a value.
4. main(): It is the name of the method.
5. String args[]: The parameter is a String array by name args. The string array is used to access command-line arguments.
1. public static void main(String args[]) throws IOException: This sort of main() method is used in "BufferedInputStream and BufferedOutputStream" and in many places.
2. public static void main(String args[]) throws Exception: This type of main() method is used in "Communication with TCP/IP Protocol" and also in many places.