Créer des pools de threads en Java : différentes approches
Créer des pools de threads en Java : différentes approches
Qu'est-ce qu'un pool de threads ?
Un pool de threads est un mécanisme qui permet de gérer un ensemble de threads réutilisables. Au lieu de créer et détruire des threads à chaque tâche, on maintient un reservoir de threads disponibles. Lorsqu'une tâche doit être exécutée, on récupère un ...
Publié le 26 juillet à 21h09
Configuration MyBatis et génération automatique de code (Exemple CRUD)
Présentation de MyBatis
Configuration de l'environnement MyBatis
Utilisation de la génération automatique basée sur SSM
Exemple d'opérations CRUD avec MyBatis
Présenttaion de MyBatis
MyBatis est un framework de persistance performant qui permet de personnaliser les requêtes SQL, les procédures stockées et les mappings avancés.
MyBatis élimin ...
Publié le 26 juillet à 16h10
Comprendre la classe Object en Java
La classe racine Object
La classe Object est la superclasse fondamantale de toutes les classes Java. Elle se trouve au sommet de l'arborescence d'héritage. Toute classe qui n'utilise pas le mot-clé extends pour hériter explicitement d'une autre classe hérite implicitement de Object. Dans le cas contraire, l'héritage est indirect.
Les méthodes d ...
Publié le 26 juillet à 14h29
Concepts fondamentaux des annotations dans le développement desktop
Définition des annotations
Les annotations fournissent des métadonnées intégrées au code, utilisables par les compilateurs, outils de développement ou environnements d'exécution. En Java, elles sont préfixées par "@" et s'appliquent aux classes, méthodes ou variables.
Composition des annotations
Définition d'annotation
public @interfa ...
Publié le 26 juillet à 02h23
Implémentation des Opérations Fondamentales d'un Arbre Binaire de Recherche
Définition d'un Arbre Binaire de Recherche
Les clés sont uniques
Toutes les clés du sous-arbre gauche sont inférieures à la clé racine
Toutes les clés du sous-arbre droit sont supérieures à la clé racine
Structure de Nœud
class NoeudABR {
int cle;
Object valeur;
NoeudABR gauche;
NoeudABR droit;
NoeudABR(int cle) {
...
Publié le 26 juillet à 01h45
Optimisation de RuoYi-Vue avec MyBatis-Plus-Ext et gestion de la persistence
Intégration de MyBatis-Plus-Ext pour la gestion automatique du schéma
L'extension mybatis-plus-ext facilite grandement la création et la modification automatique des tables SQL à partir des entités Java. Lors de son utilisation au sein de l'écosystème RuoYi-Vue, certaines configurations spécifiques sont nécessaires, notamment pour le stockage d ...
Publié le 25 juillet à 19h59
Maîtriser CompletableFuture : Éviter les erreurs courantes et adopter les bonnes pratiques
L'API CompletableFuture en Java représente un outil puissant pour la programmation asynchrone et concurrente, offrant une manière élégante de gérer les opérations non bloquantes. Cependant, sa puissance s'accompagne de pièges qui, s'ils ne sont pas identifiés et gérés correctement, peuvent entraîner des problèmes de performance, des fuites de m ...
Publié le 25 juillet à 16h31
Opérations avancées sur les collections Java avec Stream API : déduplication par attribut et création de nouvelles listes
Pour dédoublonnner une collection d'objets en fonction d'un attribut spécifique et générer une nouvelle liste unique en Java, la combinaison des méthodes Collectors.collectingAndThen et toCollection offre une solution élégante. Voici un exemple concret utilisant une classe Employe avec les propriétés identifiant et nom.
package exemples.stream ...
Publié le 25 juillet à 14h32
Implémentation et avantages du Design Pattern Simple Factory
Le concept de couplage est fondamental en architecture logicielle. Un code fortement couplé est rigide : toute modification mineure peut entraîner une réaction en chaîne de révisions nécessaires. Pour illustrer ce problème et voir comment le pattern Simple Factory y répond, examinosn l'exemple d'un moteur de calcul.
L'approche monolithique : Le ...
Publié le 25 juillet à 06h32
Recherche du Premier Caractère Unique dans une Chaîne en Java (LeetCode 387)
La tâche consiste à identifier le premier caractère non répétitif au sein d'une chaîne de caractères donnée et à renvoyer son indice. Si aucun caractère unique n'est trouvé, la fonction doit retourner -1.
Exemples :
s = "leetcode" retourne 0 (le caractère 'l' est le premier unique)
s = "loveleetcode" retourne 2 (le caractèr ...
Publié le 25 juillet à 04h26