Fondamentaux des architectures des systèmes informatiques
Les appareils électroniques omniprésents, tels que les téléphones intelligents et les ordinateurs portables, reposent sur une architecture matérielle composée de microprocesseurs, de mémoires et de circuits d'entrée/sortie. Cet ensemble forme ce que l'on appelle un système informatique. Une compréhension approfondie de ces systèmes nécessite la ...
Publié le 14 juillet à 04h55
Gestion de la mémoire en C++ : new/delete, variantes de new et stratégies de libération
Les fonctions malloc et free proviennent de la bibliothèque standard C. Elles se contentent d'allouer et de libérer des blocs de mémoire brute sans aucune notion d'objet. En C++, lorsqu'on instancie un type non trivial (classe, struct avec logique), le cycle de vie nécessite l'appel du constructeur lors de la création et du destructeur lors de ...
Publié le 13 juillet à 23h29
Analyse des performances CPU et mémoire avec Android Studio Profiler
Cet article décrit une méthode pratique pour diagnostiquer les problèmes de performance à l'aide des outils intégrés à Android Studio, en se concentrant sur l'analyse de l'utilisation du processeur (CPU) et de la mémoire.
Investigation des blocages liés au CPU
Les problèmes courants se manifestent par des interfaces figées ou des messages indiq ...
Publié le 3 juillet à 09h39
Les bases de Java : les tableaux
Présentation des tableaux
Un tableau (array) est une structure de données stockant plusieurs éléments du même type. En mémoire, il occupe un espace contigu, formant une séquence linéaire ordonnée.
Définition d'un tableau
Deux syntaxes sont disponibles pour déclarer un tableau en Java :
// Syntaxe recommandée
type[] nomVariable;
// Alternative ...
Publié le 23 juin à 19h27
La gestion mémoire dans la programmation C et C++
Introduction à la manipulation mémoire en C et C++
Dans le développement logiciel avec C et C++, la compréhension des pointeurs et de la mémoire est fondamentale. Ces langages de bas niveau permettent une manipulation directe de la mémoire, offrant une grande flexibilité mais aussi un risque accru de bugs. Une maîtrise claire des concepts mémoi ...
Publié le 21 juin à 03h09
Fondamentaux de Java : Les Méthodes
Définition et Invocation des Méthodes
Lors de la création d'une méthode, deux aspects clés doivent être définis : si la méthode renvoie une valeur (influencant l'uitlisation du mot-clé void) et les types des paramètres.
// Exemples de définition et d'appel de méthodes
1. Méthode avec paramètres et valeur de retour
// Définition : public sta ...
Publié le 20 juin à 16h15
Implémentation et Analyse de la Liste Doublement Chaînée Circulaire en C
La liste doublement chaînée (doubly linked list) est une structure de données linéaire où chaque élément, appelé nœud, contient des références vers son successeur et son prédécesseur. Contrairement à une liste simple, la variante la plus robuste et la plus utilisée en pratique est la liste doublement chaînée circulaire avec nœud sentinelle.
1. ...
Publié le 20 juin à 00h14
Variables, portée et mémoire en JavaScript
En JavaScript, les variables peuvent contenir des valeurs primitives ou des valeurs par référence. Les valeurs primitives incluent Undefined, Null, Number, String, Boolean et Symbol, et sont accédées par valeur, signifiant que l'opération porte directement sur la valeur stockée. Les valeurs par référence sont des objets stockés en mémoire, et l ...
Publié le 18 juin à 02h26
Analyse compilationnelle du modèle objet C++
Pour observer concrètement la disposition mémoire, nous utilisons l'option de compilation GCC -fdump-lang-class.
Considérons le code suivant :
class ClasseBase {
public:
ClasseBase() {}
virtual ~ClasseBase() {}
private:
int mem;
};
En compilant avec la commande :
g++ -O0 -std=c++11 -fdump-lang-class test.cpp
Un fichier décrivant l ...
Publié le 13 juin à 21h40
Analyse de l'écriture massive sur disque et gestion mémoire sous Linux
Contexte
Dans un environnement Linux, lors d'une opération d'écriture massive de fichiers sur disque avec une configuraton RAID5, une augmentation progressive de l'utilisation mémoire a été observée. Les indicateurs buffer/cache croissaient de manière continue, ce qui a déclenché une investigation technique détaillée pour identifier la cause so ...
Publié le 12 juin à 19h43