How does System.out.println() works?