console - Java: System.out.println and System.err.println out of order -


my system.out.println() , system.err.println() calls aren't being printed console in order make them.

public static void main(string[] args) {     (int = 0; < 5; i++) {         system.out.println("out");         system.err.println("err");     } } 

this produces:

out out out out out err err err err err 

instead of alternating out , err. why this?

they different streams , flushed @ different times.

if put

system.out.flush(); system.err.flush(); 

inside loop, work expected.

to clarify, output streams cached write goes memory buffer. after period of quiet, written out.

you write 2 buffers, after period of inactivity both flushed (one after other).


Comments

Popular posts from this blog

android - Gradle sync Error:Configuration with name 'default' not found -

java - Andrioid studio start fail: Fatal error initializing 'null' -

html - jQuery UI Sortable - Remove placeholder after item is dropped -