Résultats

Publié par Oleksandr Slynko

Il y a 2 ans

Java est sur le point de devenir pauseless (Z Garbage Collector)

Introduction Depuis Java 11, il y avait une fonctionnalité expérimentale qui est récemment devenue prête pour la production dans la 15e version de Java. Cette fonctionnalité mérite plus d’attention aujourd’hui, on souhaite donc la souligner. La version contient un garbage collector ultra-rapide, ZGC, qui est développé par Oracle et qui promet des temps de pause...

Publié par Lionel Guez, Kevin Archet

Il y a 2 ans

GraalVM – Native-image par l’exemple

Lors d’un précédent article, nous avons vu en quoi consiste GraalVM et son apport à l’écosystème Java. Une des fonctionnalités les plus prometteuses de GraalVM est la génération d’image native. En effet, à l’aide de SubstrateVM, le code Java peut désormais être compilé directement vers du binaire natif, là où la tradition du monde Java...

Publié par Kevin Archet, Lionel Guez

Il y a 2 ans

GraalVM – Tour d’horizon

Introduction GraalVM est une machine virtuelle universelle développée par Oracle. Sortie en 2018, elle n’en reste pas moins dans une phase de développement très active et n’a d’ailleurs connu sa première version LTS (Long-Term Support) que fin 2019. Cette machine virtuelle comporte deux principales particularités : elle est polyglotte et supporte ainsi plusieurs langages en...

Publié par Daniel Chesters

Il y a 2 ans

Pépite : activer les fonctionnalités preview de Java dans un projet Maven

Introduction Dans le cadre de mes essais des nouvelles fonctionnalités de Java (tel que les records ou les classes scellées), il m’a été nécessaire de devoir activer les fonctionnalités disponibles en avant-première via l’option --enable-preview lors de la compilation et de l’exécution. Le but de cet article est de montrer comment il est possible d’avoir...

Publié par Daniel Chesters

Il y a 3 ans

Introduction au Sealed Classes de Java 15

Introduction Le but de cet article est de présenter les sealed classes (que je nommerais dans la suite de l’article classes scellées) prévu dans Java 15. Pour information, cette fonctionnalité est disponible en avant-première, ce qui nécessite d’utiliser l’option --enable-preview, et des évolutions majeures peuvent survenir dans les prochaines versions de Java. De plus, cette...

Publié par Édouard Siha

Il y a 3 ans

Bien représenter le temps en Java

Représenter la mesure physique du temps dans du logiciel, quel que soit le langage de programmation, est souvent mal vécu par les développeurs. Les conversions entre UTC et l’heure locale sont sources de douleur, d’incompréhension et de problèmes plus obscurs les uns que les autres. Il en va de même pour les tests unitaires faisant...

Il y a 3 ans

Asynchronisme en Java : passé, présent et future de la plateforme (partie 2)

Dans mon article pr écédent, nous avons découvert les principales fonctionnalités proposées par Java depuis la première version du langage jusqu’à la version 7. Focalisons-nous sur des versions récentes de Java : Java 8 : la programmation fonctionnelle fait « coucou » Comme vous le savez, la version 8 a généré une révolution au niveau du langage...

Publié par Daniel Chesters

Il y a 3 ans

Introduction au Record de Java 14

Avertissement Cette fonctionnalité est disponible en avant-première, ce qui nécessite d’utiliser l’option --enable-preview et que des évolutions majeures peuvent survenir dans les prochaines versions de Java. Qu’est-ce que c’est un record ? the state, the whole state, and nothing but the state Un record est une forme restrictive de classe qui à pour but de...

Il y a 3 ans

Asynchronisme en Java : passé, présent et future de la plateforme (partie 1)

Tous les langages de programmation proposent des solutions pour gérer l’asynchronisme et le langage Java n’est pas une Exception. Au fil des années, les architectes du langage ont ajouté des nouveaux outils et frameworks pour permettre aux développeurs, comme nous, de mieux exploiter le niveau de parallélisme des processeurs modernes. Dans cet article, je vous...

Publié par Kevin Archet, Lionel Guez

Il y a 3 ans

Quarkus, Micronaut: Java is back

Lors de la XebiCon’19, Kevin Archet et Lionel Guez, Consultants chez Publicis Sapient Engineering ont présenté la conférence « Quarkus, Micronaut: Java is back ». Java est un des langages les plus utilisés dans le développement logiciel. Cependant les applications Java connaissent deux problèmes de taille : le temps de démarrage et l’espace mémoire occupé. Parfaitement ajusté...

Publié par Oleksandr Slynko

Il y a 3 ans

Retour aux bases : Java Generics

Les génériques sont une fonctionnalité qui a été ajoutée au langage de programmation Java en 2004 dans la version J2SE 5.0. Ils ont été conçus pour étendre le système de types de Java afin de permettre d’opérer sur des objets de différents types tout en offrant une sécurité à la compilation. Ils sont sortis il...

Publié par Benjamin Dupin

Il y a 3 ans

Java Puzzles

Lors de la XebiCon’19, Benjamin Dupin, Consultant chez Publicis Sapient Engineering, a présenté la conférence « Java Puzzles ». Le but est simple : répondre le plus rapidement possible à des questions sur la sortie d’exécution d’un programme écrit en Java.ExempleQu’est ce que ça affiche ? Pourquoi ?var x = ‘a’ + 2; System.out.println(x); var y =...

Publié par Benjamin Dupin

Il y a 4 ans

Flogger : le logger fluent de Google pour Java

Qui pensait que le logging en Java pouvait encore évoluer ? C’est pourtant ce qu’a réussi à faire Google avec Flogger : leur framework de logging pour Java. Après les classiques SLF4J ou Apache Log4j, découvrons ce qu’apporte cette API de logging. Présentation Flogger est une API de logging fluent pour Java qui se veut...

Publié par Sébastien Manicon

Il y a 4 ans

Les frameworks et librairies Java under the hood

En tant que développeurs Java, nous utilisons de nombreux frameworks et librairies. Parmi les plus populaires, nous retrouvons Spring, Lombok, ainsi que beaucoup d’outils de test tels que JUnit ou Mockito. Leur utilisation est simplifiée par le biais d’annotations et de fluent API. Cela les rend moins intrusifs dans le code et surtout nous fait...

Publié par Benjamin Dupin

Il y a 4 ans

De Java 8 à 11 : nouveautés et conseils pour migrer

Depuis qu’Oracle a annoncé vouloir accélérer le développement de Java, on a connu trois nouvelles versions du JDK en l’espace d’un an seulement (une nouvelle release tous les six mois). Cette nouvelle cadence de release peut-être angoissante lorsqu’on est habitué à avoir une nouvelle version de Java tous les trois ans. Cet article a pour...

Publié par Lionel Guez

Il y a 5 ans

Back Java : Tour d’horizon des ClassLoaders

Quand on s’intéresse à ce qui se passe à l’intérieur de la JVM, un concept clé qui revient souvent est la notion de ClassLoader (ou chargeur de classe, en bon français). Mais qu’est-ce qu’un ClassLoader au juste ? Cet article a pour but d’expliquer ce qu’est un ClassLoader, ce à quoi il sert, comment l’utiliser...

Publié par Benjamin Dupin

Il y a 5 ans

Introduction aux flux réactifs en Java

Je vous propose de vous présenter différents outils permettant de développer des applications non bloquantes en Java. Il y a seulement quelques années, une application de grande taille était composée de dizaines de serveurs, avait des temps de réponse de l’ordre de la seconde, plusieurs heures de maintenance et plusieurs gigaoctets de données. Les applications...

Il y a 5 ans

Revue de Presse Xebia

La revue de presse hebdomadaire des technologies Big Data, DevOps et Web, architectures Java et mobilité dans des environnements agiles, proposée par Xebia. Mobile Android – The rise of Kotlin IoT API.AI c’est fini, il faut maintenant dire Dialogflow Craftsmanship Java: Free at last Front Migration d’une base de code en React 16 Back Server-Sent Events...

Nous recrutons

Être un Sapient, c'est faire partie d'un groupe de passionnés ; C'est l'opportunité de travailler et de partager avec des pairs parmi les plus talentueux.