My question is regarding the java
executable, the one that you use to run a Java program and that on Linux it is found for example in /usr/bin/java
.
I have been experimenting a bit as I want to look into how everything happens behind the scenes, like how does the bytecode gets loaded, how is the execution of the actual Java program starting and other details that may not be so straightforward.
Until now I have looked at the execution with strace
and found that a new thread is created and that thread is the one on which the Java program actually gets executed (from another question that I posted). From what I understand the java
executable is a launcher of some sort, but I do not understand all the operations that happen behind the scenes.
So, what exactly is the java
executable and is there any place where I can find the source code for it (this would really help me)?