The below mentioned code should show all JVM parameters, arguments passed to the main method as well as the main class name.
import java.lang.management.ManagementFactory;
import java.lang.management.RuntimeMXBean;
import java.util.List;
public static void main(String[] args) {
  RuntimeMXBean bean = ManagementFactory.getRuntimeMXBean();
  List<String> jvmArgs = bean.getInputArguments();
  for (int i = 0; i < jvmArgs.size(); i++) {
    System.out.println( jvmArgs.get( i ) );
  }
  System.out.println(" -classpath " + System.getProperty("java.class.path"));
  // print the non-JVM command line arguments
  // print name of the main class with its arguments, like org.ClassName param1 param2
  System.out.println(" " + System.getProperty("sun.java.command"));
}
javadoc for getInputArguments
Returns the input arguments passed to the Java virtual machine which
  does not include the arguments to the main method. This method returns
  an empty list if there is no input argument to the Java virtual
  machine.
Some Java virtual machine implementations may take input arguments
  from multiple different sources: for examples, arguments passed from
  the application that launches the Java virtual machine such as the
  'java' command, environment variables, configuration files, etc.
Typically, not all command-line options to the 'java' command are
  passed to the Java virtual machine. Thus, the returned input arguments
  may not include all command-line options.
You can also take a look at : jps
It's a Java program that is able to get the full command line for all
  Java processes, including full class name of main class and JVM
  options.
You can find a good summary of various JVM tools, including 
Java Application Launcher links to :