A jar is just a zip file contains text files and class files.
An executable jar is just a normal jar that save extra plain text information about how to run the Java application.
The key property for an executable jar is Main-Class. It's a good starting point to trace from.
src/java.base/share/native/launcher/main.c#main
src/java.base/share/native/libjli/java.c#JLI_Launch
src/java.base/share/native/libjli/java.c#SelectVersion
src/java.base/share/native/libjli/parse_manifest.c#JLI_ParseManifest
`} else if (JLI_StrCaseCmp(name, "Main-Class") == 0) {
info->main_class = value;`
src\java.base\unix\native\libjli\java_md.c#CallJavaMainInNewThread
src\java.base\windows\native\libjli\java_md.c#CallJavaMainInNewThread
src\java.base\share\native\libjli\java.c#JavaMain // key function of executing main method
src\java.base\share\native\include\jni.h#CallStaticVoidMethod // invoke main method by JNI method call
src\hotspot\share\prims\jni.cpp#jni_invoke_static