Tags

Optional – JAVA 8 – la fin des NPE
Optional – JAVA 8 – la fin des NPE


La fonctionnalité de Optional pour éviter les NPE. Un peu d’histoire sur le NPE: JAVA avait comme idée originale de supprimer la notion de pointeur (du moins de la masquer) afin de faciliter la vie des développeurs. Néanmoins pour des raisons de simplicité, la « valeur » null a été laissé. Et « à cause » de cette valeur null, a été créé la fameuse exception NullPointerException qui est l’erreur à la fois la plus connue et la plus détestable car généralement on ne peut plus rien y faire…

Lire la suite…



JAVA 8 – Map – ComputeIfAbsent pour la gestion des caches

Nous allons dans cet article découvrir une nouveauté de JAVA 8 bien pratique pour l’interface Map : la méthode computeIfAbsent. Utilisation des maps Un exemple courant d’utilisation des maps est la création de caches applicatifs: on utilise généralement une HashMap dans laquelle on enregistre les éléments que l’on utilise souvent. Chaque élément est indexé par une clé qui permet de retrouver l’élément désiré. La majorité du temps, le fonctionnement d’un tel cas est le suivant : on cherche si l’objet est présent dans le cache, si oui, on le récupère, sinon on le construit et on le stocke dans la HashMap.

Lire la suite…



JAVA 8 – Parallel Stream – Performance: les types de données

L’utilisation des streams en mode parallèle est très simple d’utilisation. En revanche, il n’est pas forcément évident de savoir si un traitement particulier va bénéficier, ou non, d’une amélioration de performance lors du passage en parallèle. Pour savoir ce qui peut avoir un impact sur les performances, il est nécessaire de comprendre ce qui se passe lorsqu’on lance un traitement en parallèle avec les streams. C’est l’objet de cet article.

Lire la suite…



JAVA 8 – Stream et ParallelStream – Performance sur des String

Etude de la performance de l’utilisation de la nouvelle API JAVA 8 Stream pour le traitement de string (chaîne de caractère) But de l’article Nous allons essayer d’étudier les différences de performances pour réaliser des traitements sur des ensembles ordonnées ou non (list, hahset, treeset) avec l’utilisation des Stream et lambda JAVA 8. Puis nous comparerons l’utilisons classique des streams avec les parallelStream pour voir si la parallélisation permet de gros gain de performance.

Lire la suite…



JAVA 8 – API Stream – Introduction sur des collections

Introduction à l’utilisation des STREAM Java 8 arrive avec une toute nouvelle API Stream qui utilise les Lambda. Cette nouvelle API offre la possibilité de simplifier l’écriture, d’améliorer la performance ainsi d’augmenter la lisibilité d’un certain nombre de code. Nous allons essayer ici de voir comment les utiliser et dans de voir dans quels cas l’utilisation de cette API est utile. Dans un second article, nous nous interresserons aux performances des stream et mode « normal » et en mode « parallel ».

Lire la suite…



Multithreading et BufferedImage – JAVA – Comparaison d’image

Multithread et bufferedImage Dans cet article nous allons voir comment réaliser une comparaison des pixels de deux BufferedImage en multithread pour accélérer la performance. L’utilisation du multithreading pour le traitement des images apporte une réelle amélioration des performances. L’exemple de la comparaison n’est pas l’exemple le plus percutant mais il permet de se rendre compte de l’amélioration subtentiel que peut amener le multithreading mais aussi sa simplicité de mise en oeuvre depuis JAVA 7.

Lire la suite…