Traitement personnalisé de la sérialisation JSON pour des types spécifiques dans Spring MVC
Dans les applications Spring MVC, la gestion de la conversion entre objets Java et format JSON pour des types particuliers, comme LocalDateTime, des énumérations sur mesure ou des données sensibles, requiert une approche personnalisée. Cette personnalisation s'effectue grâce aux mécanismes d'extension de Jackson, notmament les classes JsonSeria ...
Publié le 10 juillet à 22h39
Optimisation des performances en Java
Techniques d'optimisation du code Java
Constantes et Variables
1.1. Assignation directe des valeurs littérales
L'assignation directe d'une valeur littérale crée une référence vers une instance partagée, évitant ainsi des allocations inutiles.
Contre-exemple :
// Création superflue d'objets
Long identifiant = new Long(100L);
Texte chaine = ne ...
Publié le 10 juillet à 20h52
Protéger contre les vulnérabilités XXE dans les applications web
Origine de la faille XXE
La vulnérabilité XXE (XML External Entity) survient lorsque le parseur XML traite les entités externes contenues dans les données d'entrée. Un attaquant peut exploiter cela pour lire des fichiers locaux, effectuer des requêtes serveur à serveur (SSRF), exécuter des commandes ou causer un déni de service.
Stratégies de d ...
Publié le 10 juillet à 20h39
Introduction au framework de traitement par lots Spring Batch
Spring Batch est un framework de traitement par lots léger et complet, faisant partie de l'écosystème Spring. Il est apprécié pour sa flexibilité, sa facilité d'utilisation et sa robustesse en production. Il simplifie grandement la gestion de tâches telles que le traitement efficace de grands volumes de données ou l'exécution planifiée de trait ...
Publié le 10 juillet à 18h05
Manipulation avancée de fichiers avec RestTemplate en Java
Dans l'écosystème Java, RestTemplate constitue une solution performante pour l'envoi de requêtes HTTP synchrones, particulièrement utile lors de l'interaction avec des services web RESTful. Lorsque le scénario implique le transfert de fichiers via RestTemplate, la mise en œuvre de requêtes multipart s'avère nécessaire, généralement en exploitan ...
Publié le 10 juillet à 17h12
Outils de Concurrence en Java : CountDownLatch, CyclicBarrier et Semaphore
CountDownLatch
CountDownLatch permet à un ou plusieusr threads d'attendre la fin d'un ensemble d'opérations dans d'autres threads. Lors de la création, une valeur de comptage est spécifiée. L'appel à await() bloque le thread jusqu'à ce que le comptage atteigne zéro, ce qui se produit chaque fois que countDown() est invoqué, décrémentant ainsi l ...
Publié le 10 juillet à 07h01
Correction de l'erreur "Unknown TILEMATRIX" avec GeoServer WMTS et l'API JavaScript d'AMap
Problématique de Compatibilité entre l'API JavaScript d'AMap et le Service WMTS de GeoServer
Lors de l'intégration d'un service WMTS (Web Map Tile Service) fourni par GeoServer avec l'API JavaScript de cartographie AMap (également connue sous le nom de Gaode Maps), il est fréquent de rencontrer une erreur signalant un Unknown TILEMATRIX. Ce pro ...
Publié le 10 juillet à 05h49
Gestion personnalisée des exceptions dans Spring Boot via HandlerExceptionResolver
Introduction à la gestion des exceptions via HandlerExceptionResolver
Dans les applications web Spring Boot, la gestion globale des exceptions est généralement assurée par l'annotation @ControllerAdvice couplée à @ExceptionHandler. Cependant, le framework Spring MVC offre une alternative moins conventionnelle mais tout à fait fonctionnelle : l' ...
Publié le 10 juillet à 03h12
Exploration du Code Source de HashMap en Java
La classe HashMap en Java est une structure de données fondamentale, largement utilisée pour stocker des paires clé-valeur. Elle offre une performance d'accès moyenne de O(1) pour la plupart des opérations. Pour comprendre son fonctionnement et ses performances, une exploration de son code source est essentielle.
Voici un exemple d'utilisation ...
Publié le 10 juillet à 00h37
Les Fondamentaux de la Programmation Orientée Objet
Les Fondamentaux de la Programmation Orientée Objet
Principes de base de la Programmation Orientée Objet (POO)
La programmation orientée objet est une méthode de programmation qui modélise le monde réel en utilisant des objets dans un modèle informatique. La POO est un paradigme qui transforme les entités du monde réel en objets au sein d'un pr ...
Publié le 10 juillet à 00h21