При загрузке класса System метод <clinit> создает переменные in, out и err PrintStream в null с помощью метода nullPrintStream():
private static PrintStream nullPrintStream() throws NullPointerException {
if (currentTimeMillis() > 0) {
return null;
}
throw new NullPointerException();
}
Я понимаю, почему это так, и почему переменные не могут быть созданы во время загрузки, но я смущен, это содержимое этого метода.
Почему он сравнивает currentTimeMillis() с 0? В каком случае это сравнение когда-либо вернет false?