Comprendre les politiques de rejet des pools de threads et la gestion des pertes de données
Dans l'écosystème Java, un pool de threads (ThreadPool) est un outil puissant pour gérer l'exécution asynchrone des tâches. Cependant, lorsque la charge dépasse les capacités de traitement définies par la configuration du pool, un mécanisme de protection intervient : la politique de rejet (Rejection Policy).
Qu'est-ce qu'une politique de rejet ...
Publié le 30 août à 10h48
Implémentation d'un MOBA en Java avec AWT et Swing
Structure du projet
Gestion du décor
package moteur;
import java.awt.*;
public class Decor extends EntiteJeu {
private Image fond;
public Decor(FenetreJeu fenetre) {
super(fenetre);
this.fond = Toolkit.getDefaultToolkit().getImage("ressources/carte_principale.jpg");
}
@Override
public void dessi ...
Publié le 29 août à 23h13
Visualisation des Différences de Texte avec Google Diff-Match-Patch
Pour répondre à la nécessité d'afficher les modfiications apportées par les utilisateurs entre différentes versions d'un texte, nous nous sommes tournés vers la bibliothèque open-source google-diff-match-patch. Cette bibliothèque, disponible pour plusieurs langages avec une API cohérente et des tests unitaires complets, s'est avérée parfaitemen ...
Publié le 28 août à 10h03
Utilisation de @ConfigurationProperties avec Apollo pour la mise à jour dynamique des configurations
Dans un projet récent, j'ai utilisé l'annotation @ConfigurationProperties pour initialiser une configuration sous forme de Map. La structure de la configuration est la suivante (le code et la configuraton réels peuvent varier, ceci est uniquement à titre d'exemple) :
file.pathMap[127.0.0.1] = [{"path": "/videofile1"}]
file.p ...
Publié le 26 août à 10h34
Comprendre RabbitMQ : Architecture et Intégration Spring Boot
Rôle des files d'attente de messages (Message Queues)
L'utilisation d'un courtier de messages comme RabbitMQ apporte plusieurs avantages architecturaux majeurs par rapport à une communication synchrone classique :
Traitement Asynchrone : Permet de libérer les ressources immédiatement après l'envoi d'une requête, sans attendre la fin du traitem ...
Publié le 26 août à 09h29
Structure et Utilisation des Collections et Maps en Java
Compréhension des Collections et leurs Avantages
Les tableaux présentent certaines limitations :
La taille doit être définie au moment de la création et ne peut pas être modifiée
Tous les éléments doivent être du même type
Ajouter ou supprimer des éléments est complexe
Les collections offrent une solution plus flexible :
Elles peuvent stocke ...
Publié le 26 août à 04h09
Exercices de programmation Java : nombres aléatoires, surcharge et récursivité
Calcul des carrés
Voici un programme qui calcule et affiche les carrés des entiers de 1 à 10.
public class CalculCarre {
public static void main(String[] args) {
int resultat;
for (int i = 1; i <= 10; i++) {
resultat = carre(i);
System.out.println("Le carré de " + i + " e ...
Publié le 26 août à 02h02
Résolution complète des problèmes d'encodage chinois dans les Servlets Java
Compréhension fondamentale de l'encodage des caractères
Lors du développement web avec des servlets Java, l'affichage incorrect des caractères chinois (appelé couramment "caractères fantaisie" ou "乱码") est un problème fréquent. Ce phénomène provient principalement d'une incohérence entre les schémas d'encodage utilisés lor ...
Publié le 25 août à 18h40
Intégration de Log4j2 dans une Application Spring Boot
L'écosystème Java propose plusieurs solutions robustes pour la gestion des logs. Parmi elles, SLF4J sert de façade pour une abstraction de journalisation, permettant aux développeurs d'utiliser différentes implémentations de logging sans modifier le code applicatif. Log4j2, développé par Apache, est une implémentation moderne qui succède à Log4 ...
Publié le 25 août à 05h42
Architecture et Implémentations de l'Interface Set dans Java
Différences fondamentales : Set versus Collection et List
L'interface Set représente une collection dépourvue de doublons. En comparaison avec List, elle possède un nombre réduit d'opérations spécifiques :
Accès par indice : Contrairement à List qui permet la récupération ou la modification d'un élément via son positionnement (get/set), Set ne ...
Publié le 24 août à 09h12