At the very beginning of my program, I print out these two lines:
Dyvil Compiler 1.0.0 for Dyvil 1.0.0
Loading Configuration File from 'config.txt'
The first is printed in System.err
, while the second is in System.out
. Both println
calls happen in the main
method in the above order. However, it appears that the messages are sometimes swapped:
Loading Configuration File from 'config.txt'
Dyvil Compiler 1.0.0 for Dyvil 1.0.0
This happens when running the program in Eclipse Debug mode or from a Gradle build script (I haven't tested it with the java
command). Note that absolutely no multithreading is involved, so don't tell me about the definition of insanity.
What is going on here?