<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Valhalla on Java &amp; Moi</title><link>https://javaetmoi.com/tags/valhalla/</link><description>Recent content in Valhalla on Java &amp; Moi</description><generator>Hugo</generator><language>fr</language><lastBuildDate>Sat, 25 Apr 2026 09:00:00 +0200</lastBuildDate><atom:link href="https://javaetmoi.com/tags/valhalla/feed.xml" rel="self" type="application/rss+xml"/><item><title>Les Value Types ne sont pas complexes</title><link>https://javaetmoi.com/2026/04/les-value-types-ne-sont-pas-complexes/</link><pubDate>Sat, 25 Apr 2026 09:00:00 +0200</pubDate><guid isPermaLink="false">https://javaetmoi.com/2026/04/les-value-types-ne-sont-pas-complexes/</guid><description>&lt;p&gt;Conférence : &lt;a href="https://www.devoxx.fr/"&gt;Devoxx France 2026&lt;/a&gt;&lt;br&gt;
Date : 24 avril 2026&lt;br&gt;
Speakers : Clément de Tastes (SCIAM) et Rémi Forax (Université Gustave Eiffel)&lt;br&gt;
Format : conférence (45 min)&lt;br&gt;
Repository GitHub : &lt;a href="https://github.com/CodeSimcoe/mandelbrot-valhalla/tree/devoxxfr"&gt;mandelbrot-valhalla&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Ce talk sur le &lt;strong&gt;futur de Java&lt;/strong&gt; commence par nous plonger dans l&amp;rsquo;univers des &lt;strong&gt;fractales&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Le &lt;a href="https://fr.wikipedia.org/wiki/Chou_romanesco"&gt;chou-fleur romanesco&lt;/a&gt; est une structure fractale : son motif se répète quel que soit le niveau de zoom.
Clément a développé l&amp;rsquo;application JavaFX &lt;a href="https://github.com/CodeSimcoe/MandelbrotFx"&gt;MandelbrotFx&lt;/a&gt; permettant d&amp;rsquo;afficher des fractales, dont la plus connue est très certainement
la &lt;a href="https://fr.wikipedia.org/wiki/Ensemble_de_Mandelbrot"&gt;fractale de Mandelbrot&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;implémentation Java de l&amp;rsquo;algorithme extraite de &lt;a href="https://github.com/CodeSimcoe/MandelbrotFx/blob/main/src/main/java/com/codesimcoe/mandelbrotfx/fractal/MandelbrotFractal.java"&gt;MandelbrotFractal.java&lt;/a&gt;
utilise les &lt;strong&gt;types primitifs&lt;/strong&gt; &lt;code&gt;double&lt;/code&gt; et &lt;code&gt;int&lt;/code&gt;.
Efficace, cette implémentation est relativement difficile à comprendre.
Pour améliorer sa maintenance, on peut utiliser des &lt;strong&gt;&lt;code&gt;record&lt;/code&gt;&lt;/strong&gt; en définissant le type &lt;a href="https://github.com/CodeSimcoe/mandelbrot-valhalla/blob/devoxxfr/src/main/java/com/codesimcoe/mandelbrotfx/Complex.java"&gt;Complex&lt;/a&gt;.
Plus propre, ce code est cependant dix fois plus gourmand en ressources qu&amp;rsquo;avec les primitives. Beau, mais cher.
C&amp;rsquo;est là où les &lt;strong&gt;Value Types&lt;/strong&gt; vont venir à notre rescousse.&lt;/p&gt;
&lt;p&gt;
&lt;figure&gt;
&lt;picture&gt;
&lt;img
loading="lazy"
decoding="async"
alt="Clément de Tastes et Rémi Forax sur la scène de la salle Maillot lors de Devoxx France 2026"
class="image_figure image_internal image_unprocessed"
src="https://javaetmoi.com/2026/04/les-value-types-ne-sont-pas-complexes/2026/04/les-value-types-ne-sont-pas-complexes/2026/04/les-value-types-ne-sont-pas-complexes/speakers.jpeg"
/&gt;
&lt;/picture&gt;
&lt;/figure&gt;
&lt;/p&gt;</description></item></channel></rss>