Home
Browsez les 647 exemples
Téléchargez les 647 exemples
Téléchargez des chapitres
Achetez sur amazon.fr

Niveau: Débutant/Intermédiaire
ISBN-2-84177-339-6
50 Euros

Chapitre 4: Le CLR (le moteur d'exécution des applications .NET)


Chapitre 3<     > Chapitre 5


Exemples: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Table des matières:

Les domaines d'application
       Notion de domaine d'application
       Domaines d'application et threads
       Déchargement d'un domaine d'application
       L'isolation des domaines d'application
       La classe System.AppDomain
       Lancer une nouvelle application dans le processus courant
       Exécuter du code dans le contexte d'un domaine d'application
       Les évènements d'un domaine d'application
       Echanger des informations entre domaines

Chargement du CLRdans un processus grâce à l'hôte du moteur d'exécution
       Les DLLs mscorsvr.dll mscorwks.dll
       L'assemblage mscorlib.dll
       Notion d'hôte du moteur d'exécution
       Plusieurs versions du CLR sur la même machine
       Chargement du CLR avec CorBindToRuntimeEx()
       Exemple de code C++ non géré d'un hôte du moteur d'exécution propriétaire
       Modifier la configuration du CLR à partir d'un hôte du moteur d'exécution propriétaire
       Spécificités de l'hôte du moteur d'exécution de SQL Server 2005

Profiler vos applications

Localisation et chargement des assemblages à l'exécution
       Quand le processus de localisation est-il démarré?
       L'algorithme de localisation
       Schéma récapitulatif de l'algorithme de localisation
       L'élément <assemblyBinding> du fichier de configuration
       Le mécanisme de Shadow Copy

Résolution des types à l'exécution
       Notion de chargement implicite et explicite d'un assemblage
       Référencer un assemblage à la compilation
       Un exemple
       Schéma récapitulatif

La compilation 'Juste à temps' (JIT Just In Time)
       La portabilité au niveau binaire
       Comprendre le mécanisme de compilation 'Just In Time'
       Compilation avant exécution: l'outil ngen.exe
       Compteurs de performance de la compilation JIT

Gestion du tas par le ramasse-miettes
       Introduction au ramasse-miettes
       Problématique des algorithmes possibles pour un ramasse-miettes
       Algorithme du ramasse-miettes .NET
       Etape 1: définir les racines de l'arbre des références vers les objets actifs
       Etape 2: fabriquer l'arbre et marquer les objets qui sont encore référencés
       Etape 3: désallouer les objets inactifs
       Etape 4: défragmentation du tas
       Etape 5: recalculer les adresses contenues dans les références
       Bonnes pratiques
       Tas spécial pour les gros objets
       Ramasse-miettes et applications multithreads
       Les références faibles (weak reference)
       Agir sur le comportement du ramasse-miettes avec la classe System.GC

Facilités fournies par le CLR pour rendre votre code plus fiable
       Les exceptions asynchrones du CLR et la fiabilité du code géré
       Les régions d'exécution contraintes (CER)
       Définir vos propres CER
       Les portails de mémoire (memory gates)
       Les contrats de fiabilité
       Les finaliseurs critiques
       Les régions critiques

CLI et CLS
       Introduction aux contraintes imposées aux langages .NET
       Le point de vue du développeur


Copyright Patrick Smacchia 2006 2007