Dans l'esprit du latest podcast où Joel a mentionné qu'il aimerait quelques questions simples avec des réponses peut-être intéressant ...Est-ce que 30 GOTO 10 vont toujours à 10?
Dans les environnements que nous devons programmer aujourd'hui, nous ne pouvons pas compter sur l'ordre d'exécution de notre déclarations langauage. Est-ce vrai? Devrions-nous être concernés?
Will 30 GOTO 10 aller toujours à 10 *
* Je n'ai pas utilisé 20 exprès;)
[modifier] pour les quatre personnes votant pour la fermeture de cette question ...
"Les compilateurs d'exécution utilisent des informations de profilage pour optimiser le code compilé.La JVM est autorisée à utiliser des informations spécifiques à l'exécution pour produire un meilleur code, ce qui signifie que la méthode de compilation M peut générer un code différent. compiler M dans un autre "
(de concurrency Java dans la pratique, 2006, Goetz et al)
.. un coup d'oeil à la "transformation d'appel monomorphe"
[modifier]
et une autre modification, votre processeur est autorisé à échanger l'ordre d'exécution des déclarations ...
Um, quels sont ces environnements? – mquander
Eh bien, si vous regardez dans des machines virtuelles comme la JVM, le modèle de mémoire pour lui est permise d'échanger l'ordre d'exécution des déclarations en fonction des circonstances dans lesquelles il se trouve – blank
Je ne connais pas les détails sur la JVM, mais sûrement il ne peut le faire que s'il est déjà décidé qu'il n'y a aucune chance qu'il puisse changer la fonctionnalité observable de votre code en changeant l'ordre d'exécution. – mquander