3909Fermer3911
Pen^2Le 16/09/2018 à 22:44
Je ne connais pas les détails des implémentations des GC, mais je doute quand même un peu qu'ils continuent d'allouer jusqu'au XMX sans rien libérer avant, ce serait débile et il ne me semble pas que ce soit ce que je constate.
Mais là encore, c'est un problème de runtime et moi je parle plutôt du langage, du point de vue du gars qui passe sa journée à l'écrire et de son efficacité à faire ce qu'on lui demande de manière fiable et propre sans trop pourrir la vie du codeur.

Kevin Kofler (./3909) :
Un autre gros inconvénient est que le GC bloque l'exécution régulièrement à des endroits difficilement prévisibles
Frahcnement, j'ai jamais vu un programme bloqué à cause du GC, faut arrêter avec cet argument. En théorie OK, mais dans ce cas là, faut aussi arrêter les interruptions matérielles, etc cheeky
Quant au temps réel, c'est une contrainte très spécifique et d'une part il existe Real Time Java (connais pas), et surtout, je ne prétends pas que ça répond à tous les besoins : je dis simplement que le bashing contre Java est de mauvaise foi.

Kevin Kofler (./3909) :
tu ne contrôles pas quand le finalisateur de l'objet sera appelé.
Certes, mais ça ne m'a strictement jamais posé problème, et je ne suis même pas sûr d'en avoir déjà écrit un.

Kevin Kofler (./3909) :
il y a ce hack de "try with resources"
Je ne vois pas bien en quoi c'est un hack, ça fait ce que ça dit et c'est plutôt pratique cheeky

Kevin Kofler (./3909) :
Sauf que tu ne peux pas oublier d'appeler le destructeur en C++ alors que tu peux oublier d'utiliser "try with resources" ou d'appeler close() explicitement en Java.
Il y a des warnings, et tu peux oublier d'écrire ton close dans le destructeur C++, oublier de libérer la mémoire, etc. Bref, oui, tu peux oublier plein de trucs, mais je ne suis pas certain que le Java soit moins sûr que le C++ sur ce plan là.


Bref, pour résumer et éviter d'y passer des heures, les quelques inconvénients réels sont extrêmement contrebalancés par plein d'autres trucs nettement plus importants à mon avis, donc je doute que tu puisse me faire changer d'avis cheeky