Java

Dev back

Spring Transaction Propagation Guide

Ce guide complet sur la propagation des transactions dans Spring explique comment gérer les transactions lors de l'appel de méthodes de service. Il couvre les attributs de propagation, notamment REQUIRED, REQUIRES_NEW et NESTED, ainsi que des conseils sur les niveaux d'isolation, les bonnes pratiques et les pièges communs. Des exemples de code et des cas d'utilisation illustrent comment assurer la cohérence des transactions tout en permettant des opérations indépendantes lorsque nécessaire.

Dev back

TreeSet - Internal Working

Un TreeSet en Java est une structure de données qui utilise un arbre Rouge-Noir pour stocker des éléments de manière triée, interdisant les doublons. Il fonctionne en maintenant l'ordre grâce à des propriétés d'arbre binaire de recherche, garantissant que les éléments à gauche d'un nœud sont plus petits et ceux à droite sont plus grands. Lorsqu'un élément est ajouté, le TreeSet s'assure que l'ordre est respecté en le comparant avec les éléments existants.

Dev back

Day 1: Generative AI: Teaching a Parrot to Code (And Why It’s Not Magic)

L'article présente une approche humoristique d'un développeur backend qui se lance dans une expérience de 30 jours sur l'IA générative. Il décrit comment cette technologie, comparée à l'enseignement d'un perroquet à coder, peut produire du code qui semble correct mais est souvent erroné, soulignant les défis et l'ironie de l'IA. L'auteur révèle aussi son incapacité à utiliser correctement ces outils et sa préoccupation quant à la possibilité d'être remplacé par eux.

Dev back

HashSet - Internal Working

Cet article explique le fonctionnement interne du HashSet en Java, une collection qui stocke des éléments uniques et est soutenue par un HashMap. L'auteur souligne l'importance de comprendre le fonctionnement des collections Java pour améliorer la performance et éviter des problèmes inattendus. À travers cette série, les lecteurs apprendront à mieux utiliser les collections Java dans leurs projets.

Dev back

Mastering Advanced Spring Boot (2025): A Deep Dive into Modern Development Practices

Cet article explore l'évolution de Spring Boot en 2025, mettant en lumière les pratiques avancées pour améliorer les performances et la maintenabilité des applications. Il met l'accent sur l'utilisation de starters personnalisés qui simplifient le développement, favorisent la réutilisation du code et réduisent la redondance dans les projets d'entreprise. De plus, il aborde l'importance de l'utilisation judicieuse des annotations dans les configurations. L'article s'adresse aux développeurs souhaitant approfondir leur maîtrise de Spring Boot et appliquer des stratégies modernes dans leur travail.

Dev back

Spring AI: The Java Developer’s Cheat Code for Smarter Apps

Spring AI permet aux développeurs Java d'intégrer facilement des capacités d'intelligence artificielle dans leurs applications Spring Boot sans avoir besoin d'expertise en science des données. Ce projet expérimental facilite la génération de texte, d'images et de code et permet d'interagir avec des modèles AI tels que GPT ou Hugging Face, transformant les applications classiques en solutions intelligentes.

Dev back

Engineering With Java: Digest #47

Cette semaine, la collection se penche sur divers sujets liés à Java, notamment l'introduction des threads virtuels par Project Loom et leur impact sur la concurrence, ainsi que l'intégration de l'architecture événementielle avec la capture de données en temps réel. On y découvre aussi des techniques de profilage d'applications Java, des astuces sur les flux Java, et la gestion des tâches planifiées avec Spring Boot. Ces articles offrent des perspectives précieuses sur les meilleures pratiques et les mises à jour récentes en Java et Spring.

Dev back

Java Virtual Thread vs Platform Thread Performance in Big Data Engineering

L'article compare les performances des threads virtuels Java introduits par Project Loom avec les threads de plateforme traditionnels dans le domaine de l'ingénierie des données massives. Les threads virtuels sont plus légers et consomment moins de mémoire, ce qui les rend plus efficaces pour les applications à haute concurrence et liées aux entrées/sorties. En revanche, les threads de plateforme traditionnels sont lourds, avec un coût mémoire élevé et une évolutivité limitée. L'article présente également un aperçu de code d'un fichier de données traité en utilisant des threads virtuels, tout en comparant les métriques de temps.

Dev back

Understanding Java Modules: A Guide to Project Jigsaw

Cet article explique les modules Java introduits avec Java 9 via le projet Jigsaw. Il aborde l'importance des modules pour structurer et sécuriser les applications, facilitant ainsi la gestion des dépendances et la maintenance. Il décrit également les problèmes rencontrés avant Java 9, tels que les conflits de classes et les dépendances cachées, ainsi que les avantages offerts par les modules pour créer des applications plus fiables et moins encombrées.