Launch time is not formally defined. Indeed, most of the terms used in practical IT are not formally defined. (Or formal definitions are ignored.)
But roughly speaking, the time comes when the application starts, when it is ready to do something useful. What happens at startup depends on the application, but it involves loading the static class, initializing the static class, and (possibly) compiling the JIT of some classes. Other things may include starting user interfaces, connecting to databases, preloading application-specific data structures, wiring application, etc.
The problem with trying to define a “run time” formally is that any definition probably won't work for some significant subset of application types. And even if you can define it, there is a complication that some of the startup tasks (or warm-ups) may continue in the background after the application declares itself “ready”.
(This is not a Java problem. Consider the “startup” of a laptop, that is, what happens between turning your desktop on and off.)
How to measure startup time for Java programs? From what point to what point is the duration called launch time?
Both of these can decide, depending on the type of application you are talking about, and what you want to consider as the launch phase of your application.
Stephen c
source share