#Java26
Podnieś poziom swoich aplikacji Java 26 z Reporting for Java – wizualny projekt, wbudowany silnik raportów i wdrożenie z Valentina Server/25. Szybciej, lżej. valentina-db.com/pl/java-26
#programowanie #java26
September 9, 2026 at 5:24 AM
Reporting for Java로 Java 26 앱을 업그레이드하세요. 시각적 디자인, 내장 보고 엔진, Valentina Server/25로 빠르고 가벼운 배포. valentina-db.com/ko/java-26
#프로그래밍 #Java26
September 2, 2026 at 6:27 AM
Can a #Java upgrade make your Kafka Streams applications faster without touching your code?

#apachekafka

Check out how #Java26's G1 GC improvements deliver lower latency, higher throughput & better performance in containers.

javapro.io/2026/09/01/j...
Java 26 GC: Making Data Streaming Faster and More Reliable in Containers - JAVAPRO International
Imagine running a Java application that processes massive amounts of data in real time. Example financial transactions flowing…
javapro.io
September 2, 2026 at 8:06 AM
Verbessern Sie Ihre Java‑26‑Apps mit Reporting for Java – visuelles Design, eingebettete Reporting‑Engine und Deployment mit Valentina Server/25. Schneller, leichter. valentina-db.com/de/java-26
#programmieren #java26
September 1, 2026 at 3:47 PM
Project Leyden: Faster startup with no code changes —and even more startup improvements on the way. :-)
"Java for the AI world"
www.linkedin.com/posts/fabiom...
#java #java26 #projectleyden #jvm #zgc #performance #openjdk #backend #softwareengineering | Fabio Mendes Viana
Java 26 quietly removed one of the biggest limitations of Project Leyden. And almost nobody is talking about it. With JEP 516, Ahead-of-Time (AOT) object caching now works with every JVM garbage colle...
www.linkedin.com
July 28, 2026 at 11:30 PM
Java 26 : Quoi de neuf?
Maintenant que Java 26 est features complete (Rampdown Phase Two 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 partie d’une suite d’article sur les nouveautés des dernières versions de Java, pour ceux qui voudraient les lire en voici les liens : Java 25, Java 24, Java 23, Java 22, Java 21, Java 20, Java 19, Java 18, Java 17, Java 16, Java 15, Java 14, Java 13, Java 12, Java 11, Java 10, et Java 9. Après Java 25 et ses 18 JEPs, Java 26 arrive avec un petit nombre de JEPs, 10, avec très peu de nouvelle fonctionnalités. ## JEP 500: Prepare to Make Final Mean Final Un champ final est censé ne jamais être modifié après son initialisation. Mais hélas, la réflexion profonde (deep reflection) permet de rendre accessible un champ final pour pouvoir ensuite le modifier via la méthode `Field.setAccessible(true)`. Modifier un champs final casse l’intégrité de la JVM car cela contrevient à l’intention du développeur, avec tous les risques de sécurité que cela peut engendrer. De plus, certaines optimisations de la JVM ne peuvent s’appliquer aux champs finaux tel que le _constant folding_ du Just In Time compiler (JIT), une optimisation qui évalue une expression constante une seule fois plutôt que chaque fois qu’elle est utilisée. Les records interdisent déjà la modification de champs finals. La JEP 500 va émettre un warning dans les logs de la JVM la première fois qu’un champ final est modifié via réflexion profonde. WARNING: Final field f in p.C has been [mutated/unreflected for mutation] by class com.foo.Bar.caller in module N (file:/path/to/foo.jar) WARNING: Use --enable-final-field-mutation=N to avoid a warning WARNING: Mutating final fields will be blocked in a future release unless final field mutation is enabled Cela peut être contrôlé via l’option JVM `--illegal-final-field-mutation` qui peut prendre les valeurs : * `allow` : permet la modification de champ finaux. * `warn` : émet un warning dans les logs de la JVM la première fois qu’un champ final est modifié, c’est le comportement par défaut en Java 26. * `debug` : identique à `warn` mais va inclure en plus la stack trace. * `deny` : interdit la modification de champs finaux. Une future release de Java passera le comportement par défaut à `deny`. Il est possible de sélectivement autoriser la modification de champs finaux via l’option JVM `--enable-final-field-mutation=M1,M2` qui prend en paramètre la liste des modules à autoriser. Plus d’information dans la JEP 500. ## JEP 504: Remove the Applet API Supprime l’API des applets qui avait été dépréciée pour suppression en Java 17. Les naviguateurs actuel ne supportent de toute façon plus les applets depuis longtemps. Plus d’information dans la JEP 504. ## JEP 516: Ahead-of-Time Object Caching with Any GC La JEP 483: Ahead-of-Time Class Loading & Linking a introduit en Java 24 la possibilité de créer un cache AOT (Ahead of Time – avant le lancement de l’application) contenant les classes déjà chargées et liées d’une application pour améliorer son temps de démarrage. Celui-ci a été enrichi en Java 25 avec les informations de profiling des méthodes via la JEP 515: Ahead-of-Time Method Profiling. En Java 26, ce cache a été amélioré pour stocker les objets de manière agnostique au GC, permettant un support pour tous les GC, et surtout l’utilisation d’un cache AOT par une JVM utilisant un GC différent de celui utilisé lors de la création du cache. Plus d’information dans la JEP 516. ## JEP 517: HTTP/3 for the HTTP Client API La JEP 517 apporte le support d’**HTTP/3** dans le client HTTP du JDK. Le client HTTP du JDK utilise toujours HTTP/2 par défaut. Pour utiliser HTTP/3 il faut sélectionner cette version lors de la création du client HTTP : var client = HttpClient.newBuilder() .version(HttpClient.Version.HTTP_3) .build(); Plus d’information dans la JEP 517. ## JEP 522: G1 GC: Improve Throughput by Reducing Synchronization **G1** est le garbage collector (GC) par défaut, mais il est parfois moins performant que le **ParallelGC** car pour réaliser une partie de son travail de manière concurrente à l’application, il nécessite de partager les ressources CPU avec les threads applicatifs et de se coordoner avec eux. la JEP 522 augmente à la fois le débit et la latence des applications en réduisant la quantité de synchronisation requise entre les threads d’application et les threads GC. Plus précisément la _write barrier_ de G1 a été modifiée pour ne plus synchroniser sur la _card table_ via l’ajout d’une seconde _card table_. Sans trop rentrer dans les détails, la _write barrier_ est un bout de code appelé à chaque fois que la référence d’un objet est stockée dans un champ, permettant à G1 de tracer les allocations sans arrêter les threads applicatif. Enlever cette synchronisation va réduire le coût de G1 à chaque écriture et donc améliorer le débit de l’application. Plus d’information dans la JEP 522. ## UUIDv7 support La nouvelle méthode `UUID.ofEpochMillis(long)` permet de créer un **UUID type 7** (UUIDv7) depuis un timestamp Unix Epoch. Les UUIDv7 sont créées en attribuant un timestamp Unix en millisecondes dans les 48 bits les plus significatifs, en attribuant la version requise (4 bits) et la variante (2 bits) et en remplissant les 74 bits restants avec des bits aléatoires. La caractéristique principale des UUIDv7 est qu’ils sont monotones (chaque valeur suivante est supérieur à la valeur précédente). Cela est dû au fait que la valeur d’horodatage fait partie de l’UUID. Le grand avantage des UUIDv7 est qu’ils sont naturellement triables ce qui en fait un bon choix pour des identifiants de base de données, comblant une des lacunes des UUID de version précédente. Tout en restant sur 128 bits, donc compatible avec les champs de types UUID précédent. ## Les fonctionnalités qui sortent de preview Les fonctionnalités suivantes sortent de preview (ou du module incubator) et passent en standard : **_Aucune !_** C’est assez rare pour le surligner. Une partie des fonctionnalités qui sont en preview depuis longtemps sont bloquées en attente du projet Valhalla. ## Les fonctionnalités qui restent en preview Les fonctionnalités suivantes restent en preview (ou en incubator module) : * JEP 524 – **PEM Encodings of Cryptographic Objects** : deuxième preview, nouvelle API qui apporte le support du format Privacy-Enhanced Mail (PEM) à Java. Quelques changements dans l’API mais les classes `PEMEncoder` et `PEMDecoder` proposent toujours la même API. * JEP 525 – **Structured Concurrency** : sixième preview, nouvelle API permettant de simplifier l’écriture de code multi-threadé en permettant de traiter plusieurs tâches concurrentes comme une unité de traitement unique. Quelques changements mineurs. * JEP 526 – **Lazy Constants** : deuxième preview, nouvelle API permettant de créer des constante, initializées à la demande. * JEP 529 – **Vector API** : onzième incubation, API permettant d’exprimer des calculs vectoriels qui se compilent au moment de l’exécution en instructions vectorielles pour les architectures CPU prises en charge. Aucun changement. Il a été acté dans la JEP que la Vector API sera en incubation tant que les fonctionnalités du projet Valhalla ne seront pas disponibles en preview. Ce qui était attendu, car la Vector API pourra alors tirer parti des améliorations de performance et de représentation en mémoire que devrait apporter le projet Valhalla. * JEP 530 – **Primitive Types in Patterns, instanceof, and switch** : quatrième preview, ajoute le support des types primitifs dans les `instanceof` et les `switch`, et enrichit le pattern matching pour supporter des patterns de types primitifs : dans les `instanceof`, dans les cases des `switch`, et dans la déconstruction d’un record. Deux changements : amélioration de la définition de l’exactitude inconditionnelle et application de contrôles de dominance plus stricts dans les switch ce qui peut mener le compilateur à rejeter plus de cas qu’auparavant. Pour les détails sur celles-ci, vous pouvez vous référer à mes articles précédents. ## Divers Divers ajouts au JDK : * `Process.close()` : Ferme tous les flux de lecture et d’écriture et attend la fin du processus. De plus `Process` implémente `AutoCloseable` ce qui fait qu’il peut être utilisé dans un **try-with-resources**. * `String.compareToFoldCase()` et `String.equalsToFoldCase()` : implémentation d’`equals` et `compareTo` qui utilisent le **case folding** d’Unicode. * `BigInteger.rootn()` et `BigInteger.rootnAndRemainder()` : Renvoie la racine entière n-ième. * `Duration.MAX` et `Duration.MIN` : durée maximum et minimum supportées. * `Instant.plusSaturating()` : Renvoie une copie de cet instant plus la durée spécifiée, avec une sémantique saturée. Si le résultat est avant MIN, renvoie MIN; si le résultat est après MAX, renvoie MAX; sinon, renvoie `plus()`. * `ThreadLocalRandom.nextGaussian()` : Renvoie un double choisi de manière pseudo-aléatoire à partir d’une distribution gaussienne. * `Comparator.min(Object, Object)` et `Comparator.max(Object, Object)` : retourne le plus petit ou plus grand object entre les deux objets passés en paramètre. * `HttpRequest.BodyHandlers.ofFileChannel()` : Renvoie un `BodyHandler` depuis un `FileChannel`. La totalité des nouvelles API du JDK 25 peuvent être trouvées dans The Java Version Almanac – New APIs in Java 26. ## Des changements internes, de la performance, et de la sécurité Comme toutes les nouvelles versions de Java, OpenJDK 25 contient son lot d’optimisations de performance et d’améliorations de sécurité. Côté performance, pas de gros changement, mais pas mal de tous les petits changements. J’ai noté celui-ci qui améliore les performances de `ArraytList.addAll()` en ajoutant un fast-path au cas où la collection est elle-même une `ArrayList` qui va copier le tableau sous-jacent, plus d’information dans la PR #28116. Côté sécurité je n’ai riens noté pour le moment mais je metterais à jour l’article si nécessaire. ## JFR Events Voici les nouveaux événements Java Flight Recorder (JFR) de la JVM : * `StringDeduplication` : pas de description. * `FinalFieldMutation` : pas de description. Vous pouvez retrouver tous les événements JFR supportés dans cette version de Java sur la page JFR Events. ## Conclusion On reste clairement sur sa faim, cette release apporte très peu de nouvelles fonctionnalités et la plupart des fonctionnalité déjà en preview ou incubator module le restent. On peut quand même noter le support de HTTP/3 et UUIDv7 qui sont les bienvenues pour le développement d’application modernes. Comme toujours, on se languit du projet Valhalla… bien que de nouvelles rumeurs sont sorties et prédisent une inclusion dans Java 28 des premières fonctionnalités liée au project Valhalla qui sont les Value Classes and Objects ! Pour retrouver tous les changements de Java 26, voir les release notes. ### Partager : * Cliquez pour partager sur LinkedIn(ouvre dans une nouvelle fenêtre) LinkedIn * Cliquer pour partager sur Bluesky(ouvre dans une nouvelle fenêtre) Bluesky * Cliquer pour partager sur Mastodon(ouvre dans une nouvelle fenêtre) Mastodon * Cliquer pour envoyer un lien par e-mail à un ami(ouvre dans une nouvelle fenêtre) E-mail * Cliquez pour partager sur Reddit(ouvre dans une nouvelle fenêtre) Reddit * Cliquer pour partager sur X(ouvre dans une nouvelle fenêtre) X * Cliquez pour partager sur Facebook(ouvre dans une nouvelle fenêtre) Facebook * Cliquez pour partager sur Tumblr(ouvre dans une nouvelle fenêtre) Tumblr * Cliquez pour partager sur Pinterest(ouvre dans une nouvelle fenêtre) Pinterest * Cliquez pour partager sur WhatsApp(ouvre dans une nouvelle fenêtre) WhatsApp * Cliquez pour partager sur Telegram(ouvre dans une nouvelle fenêtre) Telegram * Cliquer pour imprimer(ouvre dans une nouvelle fenêtre) Imprimer * Cliquez pour partager sur Threads(ouvre dans une nouvelle fenêtre) Threads * Cliquer pour partager sur Nextdoor(ouvre dans une nouvelle fenêtre) Nextdoor * ### J’aime ça : J’aime chargement… ### _Articles similaires_
www.loicmathieu.fr
January 29, 2026 at 2:13 PM
You can use support for the @sdkman.io .sdkmanrc file in
@intellijidea.com to download #Java26, Set as project JDK and navigate to Project Structure.
#Java #IntelliJIDEA
March 19, 2026 at 1:02 PM
You can now download JDK 26 in @intellijidea.com 🥳
Open Project Structure (⌘; on macOS | Ctrl+Alt+Shift+S on Windows/Linux), open the dropdown in field SDK, select Download JDK and select Version 26 and Vendor.
#Java #Java26 #IntelliJIDEA
March 17, 2026 at 3:50 PM
Only 2.5 weeks until @amsterdam.voxxeddays.com!
Looking forward to speaking with my friend & fellow Java Champion @piotrprz.bsky.social on "Learning modern Java the playful way".

We will update our presentation for #Java26 which releases tomorrow!
Expect: Java, demos, lab coats & silly jokes. ;)
March 16, 2026 at 10:33 AM
Happy Wednesday!

📣 #Gradle 9.4.0 is out 📣

https://docs.gradle.org/9.4.0/release-notes.html

Bug fixes and…

☕ #Java26 support
🔧 Non-class-based #JVM tests
💻 Enhanced console progress bar

Please report any 🐛 on #GitHub!
Gradle 9.4.0 Release Notes
We are excited to announce Gradle 9.4.0.
docs.gradle.org
March 4, 2026 at 12:16 PM
📣 #Gradle 9.4.0 RC2 is out and ready for testing 🔬

https://docs.gradle.org/9.4.0-rc-2/release-notes.html

Bug fixes and…

☕ #Java26 support
🔧 Non-class-based #JVM tests
💻 Enhanced console progress bar

Please report any 🐛 on #GitHub!
Gradle 9.4.0-rc-2 Release Notes
We are excited to announce Gradle 9.4.0-rc-2.
docs.gradle.org
March 2, 2026 at 10:03 AM
📣 Happy Monday!

#Gradle 9.4.0 RC1 is out and ready for testing 🔬

https://docs.gradle.org/9.4.0-rc-1/release-notes.html

Bug fixes and…

☕ #Java26 support
🔧 Non-class-based #JVM tests
💻 Enhanced console progress bar

Please report any 🐛 on #GitHub!
February 9, 2026 at 10:45 AM
Java 26のリリースから半月たってしまったけど、JEPで語る方も公開しました!! #java #java26

JEPで語るJava 26
www.javainthebox.com/2026/04/jepj...
JEPで語るJava 26
www.javainthebox.com
April 6, 2026 at 9:31 AM
今さらきがついたけど、Java 26でjdk.jsobjectもなくなっちゃったのか!

#java #java26

docs.oracle.com/en/java/java...
jdk.jsobject (Java SE 25 & JDK 25)
declaration: module: jdk.jsobject
docs.oracle.com
March 27, 2026 at 2:30 AM
半年ごとのお約束のblogを書きました!
まだJava 26はリリースされていないですけど #java #java26

JEPでは語れないJava 26
www.javainthebox.com/2026/03/jepj...
JEPでは語れないJava 26
www.javainthebox.com
March 17, 2026 at 5:58 AM
JDK 26のページが更新されて、やっとJEPがそろってきたよ #java #java26
November 4, 2025 at 6:23 AM
June 9, 2025 at 9:52 AM
Real opportunities start with real connections. Events like #Javaef="/hashtag/JavaOne" class="hover:underline text-blue-600 dark:text-sky-400 no-card-link">#JavaOne prove it. 🤝

#Javaef="/hashtag/Java26" class="hover:underline text-blue-600 dark:text-sky-400 no-card-link">#Java26 announced!
Microsoft’s Copilot demo for legacy systems was mind-blowing.
Coordinating the Mentorship Hub with @brjavaman.

🤫 Spoiler: I'm playing tonight with The Nullpointers!

#Javaef="/hashtag/JavaOne" class="hover:underline text-blue-600 dark:text-sky-400 no-card-link">#JavaOne"/hashtag/JavaOne2026" class="hover:underline text-blue-600 dark:text-sky-400 no-card-link">#JavaOne2026 #Java
March 18, 2026 at 9:07 PM
Você viu que hoje foi lançada a versão 26 do Java? Essa versão tem ganhos de performance e suporte nativo para HTTP/3

jdk.java.net/26/

Alinhe-se com seu time, ou com seu agente de IA favorito 😅, para atualização para a nova versão.

#bolhadev #java #openjdk #java26
OpenJDK JDK 26 GA Release
jdk.java.net
March 17, 2026 at 3:57 PM
AIクリエーターの道 ニュース: Java 26 がリリース間近! G1 GCの改善でスループット向上、HTTP/3サポート。Javaの進化を見逃すな! #Java26 #G1GC #HTTP3

詳しくはこちら↓↓↓
gamefi.co.jp/2025/09/10/j...
Java 26の新機能: G1 GC、HTTP/3、Applet API削除 | AI News
Java 26の最新情報!G1 GCの改善、HTTP/3対応、Applet API削除など、Javaの進化を解説します。
gamefi.co.jp
September 11, 2025 at 2:00 AM
From Eric Gahlin,

A new source field has been added to the Class Define event, so you can now see which file a class was loaded from.

Also, a new String Deduplication event with statistics about the deduplication work!

x.com/erikgahlin/s...

#openjdk #java26
x.com
March 17, 2026 at 8:36 PM
> 「Java 26」正式リリース。HotSpotの起動高速化、HTTP/3クライアント対応など新機能
https://www.publickey1.jp/blog/26/java_26hotspothttp3.html
「Java 26」正式リリース。HotSpotの起動高速化、HTTP/3クライアント対応など新機能
オラクルはJavaの最新バージョン「Java 26」正式版のリリースを発表しました。 Java 26 is now available! #Java26 #JDK26 #OpenJDK Download Now: https://t.co...
www.publickey1.jp
March 17, 2026 at 3:40 PM
#Java26 has been released and likewise, docs on #APIdia have been updated: apidia.net/java/OpenJDK...
Enjoy browsing API docs of the new release conveniently with all the features APIdia has to offer!

And of course, big congrats to the #OpenJDK team for shipping yet another marvelous #Java release!
March 20, 2026 at 4:55 PM
New article on Foojay: Mohammad-Ali A'râbi shows how to use Docker Init to containerize your Java 26 projects quickly and efficiently.

foojay.io/today/docker...

#Java #Docker #Java26
Dockerizing a Java 26 Project with Docker Init
Java 26 came out in March 2026. This article walks you through Dockerizing a Java 26 Spring Boot project using Docker Init.
foojay.io
April 27, 2026 at 12:07 PM
Java 26 has landed! @hanno.codes writes about the new release and its implications for the platform's future. A solid step forward with features that matter.

foojay.io/today/java-2...

#Java #Java26 #OpenJDK
foojay – a place for friends of OpenJDK
foojay is the place for all OpenJDK Update Release Information. Learn More.
foojay.io
March 17, 2026 at 11:26 AM