Java Hotspot with the server option is suitable for running server applications. When I start JRun app server with the java - server option I have noticed that the startup time is more that the -client option.
I want to know the reason for the delay Is it because it optimizes the hot spots ? If true, does it load all the classes rather than loading on demand. I was under the impression that it optimizes during runtime.
You're comparing the -client runtime to the -server runtime. The documentation says that the -client runtime is optimized for quick startup and smaller memory footprint and not so much for runtime performance, whereas the -server is designed to get the maximum performance, without regard for startup time. Presumably during startup, the -server option builds various in-memory data structures that will help with optimization.