As far as i can tell, you can only profile a running application using VisualVM.
Does anyone know of a way to profile the launch and startup of a java application us
I found Startup Profiler helpful:
Startup Profiler plugin for VisualVM 1.3.6 enables instrumented profiling of local Java 5+ applications from their startup. It is also helpful when profiling short-running processes.