I need to know the complete flow of what happens when we compile/run a program.
For example when we run javac program.java , how does it get converted to byte code? which class is responsible for throwing compile time error? How does native method get invoked? Is there any way to know the complete flow like which files of java/C/C++ get invoked during run/compile time by the use of some tools?
I'm looking for the flow thinking that it could make me understand java better.