Référence circulaire - fr.LinkFang.org

Référence circulaire


En informatique, une référence circulaire est une suite de références dans laquelle le dernier objet référence le premier résultant en une boucle fermée. Le concept mathématique sous-jacent est un cycle dans la théorie des graphes.

Notons \({\displaystyle A\rightarrow B}\) le fait que A référence B. Si \({\displaystyle A\rightarrow B,B\rightarrow C,\dotsc ,X\rightarrow A}\), alors on a une référence circulaire. En effet, on a \({\displaystyle A\rightarrow B\rightarrow C\rightarrow \dotsb \rightarrow X\rightarrow A}\) et donc par transitivité \({\displaystyle A\rightarrow A}\). Cette situation pose un problème car cela signifie que l'on ne peut pas avoir A sans disposer de A lui-même.

Exemples


Par exemple, pour la résolution de dépendances logicielles : si par le jeu des dépendances un paquet a besoin de lui-même pour pouvoir être installé, alors il est impossible de l'installer à moins qu'il ne soit déjà installé.

Ce problème se retrouve également dans le bootstraping où un compilateur écrit dans le langage qu'il est en train de compiler, qu'il aura besoin de lui-même pour pouvoir être compilé.

Avec un ramasse-miettes qui fonctionne par comptage de références, un cycle dans les références entre objets n'est pas détecté, ce qui empêche de libérer la mémoire et de la rendre disponible pour le reste de l'exécution du programme.

C'est aussi la cause de récursions infinies lorsqu'avec les appels de méthodes, on appelle une méthode qui en appelle une autre, qui en appelle une autre jusqu'à ce que l'on appelle à nouveau la première méthode, et le cycle recommence jusqu'à un dépassement de pile qui pourrait être utilisé par un attaquant pour prendre le contrôle de l'ordinateur.

Articles connexes


Sur les autres projets Wikimedia :








Catégories: Autoréférence | Énoncé mathématique | Théorie des graphes




Information à partir de: 06.12.2020 09:57:59 CET

Source: Wikipedia (Auteurs [Histoire])    Licence: CC-by-sa-3.0

Changements: Toutes les images et la plupart des éléments de conception liés à celles-ci ont été supprimés. Certaines icônes ont été remplacées par FontAwesome-Icons. Certains modèles ont été supprimés (comme «l’élargissement de l’article doit être développé) ou attribués (comme les« notes »). Les classes CSS ont été supprimées ou harmonisées.
Les liens spécifiques à Wikipedia qui ne mènent pas à un article ou à une catégorie (tels que «Liens rouges», «Liens vers la page de modification», «Liens vers des portails») ont été supprimés. Chaque lien externe a une icône FontAwesome supplémentaire. Outre quelques modifications mineures dans la conception, le conteneur de supports, les cartes, les boîtes de navigation, les versions parlées et les microformats géographiques ont été supprimés.

Notez s'il vous plaît: Étant donné que le contenu donné est automatiquement extrait de Wikipedia à un moment donné, une vérification manuelle était et n'est pas possible. Par conséquent, LinkFang.org ne garantit pas l'exactitude ni l'actualité du contenu acquis. S'il existe une information erronée pour le moment ou dont l'affichage est inexact, n'hésitez pas à Contactez-nous: l'e-mail.
Voir également: mentions légales & charte de confidentialité.