Java 12 : quoi de neuf ?

Java 12 : quoi de neuf ?

Maintenant que Java 12 est features complete (Rampdown Phase 2 au jour d’écriture de l’article), c’est le moment de faire le tour des fonctionnalités qu’apporte cette nouvelle version, à nous, les développeurs. Cet article fait parti d’une suite d’article sur les nouveautés des dernières version de Java, pour ceux qui voudrait les lires en voici les liens : Java 11, Java 10, et Java 9. Et force est de constater qu’à part les switch expression, il n’y a pas beaucoup de nouveautés…

Lire la suite Lire la suite

Java.Next

Java.Next

Ma première contribution au blog de Zenika est un article qui parle du futur (ou du présent) de Java et des changements pour les développeurs dans les versions 9, 10 et 11. La gouvernance de Java y est aussi abordé. Cet article reprend et résume les articles que j’ai précédemment écrit sur ce blog sur Java 9, 10 et 11, voici le lien : https://blog.zenika.com/2018/10/30/java-next/ Contribuer au blog de Zenika a été une expérience enrichissante (par le regard exigeant et bienveillant…

Lire la suite Lire la suite

Java 11 : quoi de neuf ?

Java 11 : quoi de neuf ?

Maintenant que Java 11 est sorti, c’est le moment de faire le tour des fonctionnalités qu’apporte cette version, à nous, les développeurs. Cet article fait partie d’une suite d’article sur les nouveautés des dernières version de Java, pour ceux qui voudraient les lires en voici les liens : Java 10, et Java 9. Long Term Support Java 11 est la première version de Java qui sera Long Term Support – LTS, donc supporté trois ans, jusqu’à la prochaine LTS qui…

Lire la suite Lire la suite

Devfest Lille 2018

Devfest Lille 2018

Il y a quelques semaines, j’ai eu la chance d’assister au DevFest Lille, organisé par le GDG Lille. Mon impression globale : une très bonne organisation, des locaux sympa (merci l’IMT Lille-Douai), des talks intéréssant et beaucoup de bonne humeur! Voici un petit retour sur les talks auxquels j’ai assistés : gRPC, communiquons autrement (Sébastien FRIESS) Après un rappel sur ce qu’est le réseau et internet, Sébastien nous a dressé la problématique du format de donnée dans les systèmes distribués…

Lire la suite Lire la suite

Java 10 : quoi de neuf ?

Java 10 : quoi de neuf ?

Maintenant que Java 10 est sorti, il est temps de se pencher sur les nouveautés de cette version. Comme pour mon précédent article sur java 9, je vais me pencher principalement sur les changements qui impacterons les développeurs utilisant Java en laissant de côté les changements internes/anecdotique/sur des API peu utilisés. Le nouveau « release train » Une nouveauté toute particulière est la manière dont Java va être releasé depuis Java 10 : Java va passer d’un système de feature release tous…

Lire la suite Lire la suite

Cache HTTP Client avec CXF

Cache HTTP Client avec CXF

Dans nos applications moderne, le cache est une fonctionnalité technique majeur qui permet de limiter les accès redondant à la même ressources (base de données, fichier, service distant HTTP, …). On peut implémenter du cache à plusieurs niveau, et généralement nos applications en utilisent sans le savoir (cache OS, cache BDD, cache applicatif de type EhCache, …) et nos browser le font aussi massivement grâce aux directives de cache de la spécification HTTP. Si vous avait des webservices REST développé…

Lire la suite Lire la suite

Les optimisations de performances de Java 9

Les optimisations de performances de Java 9

Dans un précédent article sur Java 9, j’avais parcouru les principales nouveautés à destination des développeurs : https://www.loicmathieu.fr/wordpress/informatique/les-nouveautes-de-java-9-pour-les-developeurs. Je vais ici parcourir les principales nouveautés axées sur la performance Je vais encore reprendre les principales JEP : JEP 143: Improve Contended Locking Optimisation des monitors Java (optimisation des locks) en cas de contention (quand plusieurs threads accèdent au même monitor). Ce sont des changements au sein de la JVM qui permettent des gains de performances significatifs (x2) sur certaines opérations…

Lire la suite Lire la suite

Démarrage JVM 8 vs 9

Démarrage JVM 8 vs 9

Introduction En parcourant la mailing liste d’open JDK (core-lib-dev) j’ai vu plusieurs threads de mail à propos d’optimisation de temps de démarrage et d’occupation mémoire d’une JVM « minimale« . Ce travail a été réalisé en grande partie par Claes Redestad (Oracle) lors du développement de Java 9. J’ai donc décidé de tester la différence entre un HelloWorld (en version standard et avec utilisation de Lambda) entre Java 8 (update 51 pour ne pas risquer de backport des optimisations en question sur…

Lire la suite Lire la suite

Authentification Kerberos avec SpringSecurity

Authentification Kerberos avec SpringSecurity

Introduction J’ai récemment implémenté une authentification (automatique) avec Kerberos. Ce protocole permet d’authentifier automatiquement un utilisateur depuis sa session utilisateur (session windows par exemple). Via Kerberos, on authentifie donc un utilisateur sans lui demander son mot de passe ce qui est un plus (il n’a pas à se re-logguer : on utilise le contexte d’authentification de Windows) en se basant sur le fait que s’il a ouvert une session utilisateur en son nom … alors tout est OK! En implémentant…

Lire la suite Lire la suite

Optimisez vos OPTIONS avec Access-Control-Max-Age

Optimisez vos OPTIONS avec Access-Control-Max-Age

Bonjour, Aujourd’hui, je partage avec vous un header HTTP que je viens de découvrir : Access-Control-Max-Age. Aujourd’hui, on execute des requêtes Ajax (ou XHR) sans arrêt, et souvent d’un site vers un autre. Pour des raisons de sécurité, pour qu’une page puisse réaliser une requête Ajax vers un autre site, il faut que celui-ci lui donne le droits, c’est ce qu’on appel CORS (Cross-Origine-Resource-Sharing) : la possibilité de partager des resources web entre deux origine différente depuis un navigateur. Ce…

Lire la suite Lire la suite