Pourquoi certains flux doivent-ils être vidés ( FileOutputStream
et les flux provenant de Sockets) alors que le flux de sortie standard ne le fait pas ?
Chaque fois que quelqu'un utilise le System.out
PrintStream
que ce soit en appelant println()
ou write()
ils ne vident jamais le flux. Cependant, d'autres programmeurs ont l'habitude d'appeler flush()
a PrintStream
/ PrintWriter
avec d'autres flux.
J'ai récemment posé cette question à plusieurs programmeurs et certains d'entre eux pensent qu'il existe un traitement de fond en Java qui permet de vider automatiquement la mémoire de l'ordinateur. System.out
mais je ne trouve aucune documentation à ce sujet.
Quelque chose comme ça me fait me demander si le simple fait d'appeler System.out.println()
est indépendant de la plateforme car certains systèmes peuvent nécessiter que vous vidiez le flux.