There is a term now: “self-contained” such as a self-contained jar. With this, the java runtime engine is packed with the program in the jar. I don’t know that these run any faster than when a jvm that is already installed is used. Probably depends mostly on the Java version being invoked.
It is possible to pack a self-contained jar into an exe for installation purposes on Windows. The tool Inno Setup 5 has a Wizard that helps create the setup script used to make the exe. But I don’t think there is anything in the installation process itself that makes the program run faster. The installation just does things like place the program in the Program Files directory, makes links on the Start Menu and Desktop shortcuts, those sorts of things that most Windows Users don’t usually know how to do themselves.
For Java 9 and beyond, the runtime engine is segmented into modules, and you can create customized runtimes that only have the modules needed to run the program! The tool for doing this is called JLINK. These runtimes ARE supposed to run faster and be a lot smaller than a program that packs a full JVM. But I don’t know how much faster.
These pared-down runtimes can also be packed into an exe for installation with Inno Setup 5 or other tools.
I’ve been banging my head on this for several weeks, have finally got it all working. It was kind of hard for me mostly because I am overly reliant on Eclipse and not all that experienced with Windows shell commands and environment variables and things like that. I think some folks here know how to use various scripting languages (like ANT) to run JLINK. I decided to first just figure out how it works at the command line. There is a neighbor thread about about this “Stubbornly insisting on using JLINK for deployment” which has a lot of suggestions about packing a program into an exe for deployment.
With WebStart being phased out, this seems to be the way to go.