The original article was written by Alina Yurenko (Developer Advocate for GraalVM, Oracle Labs).
https://medium.com/graalvm/graalvm-25-1-is-here-13829606982e
First innovation release ð
æ¬æ¥ãGraalVM 25.1ã®ãªãªãŒã¹ãçºè¡šã§ããããšãå¬ããæããŸãïŒ
GraalVM 25.1ã¯ãGraalVM 25ãåºç€ãšããæåã®ã€ãããŒã·ã§ã³ãªãªãŒã¹ã§ãããä»åŸ25.2ã25.3ãããã³ãã以éã®ãªãªãŒã¹ãç¶ããŸãããã®æ°ãããªãªãŒã¹ãã¬ã€ã³ã§ã¯ãããå°èŠæš¡ã§æ®µéçãªãªãªãŒã¹ãéããŠãæ©èœãæ¹åç¹ãããè¿ éã«æäŸããŸããããã«ãããæ°ããæ©èœã詊ãããããã£ãŒãããã¯ãéã£ããããããšã容æã«ãªããŸãã
Accelerating the GraalVM Release Train
https://medium.com/graalvm/accelerating-the-graalvm-release-train-26b0d7cff2ab
https://logico-jp.dev/2026/05/06/accelerating-the-graalvm-release-train/
äžæ¹ãé·æãµããŒãïŒLTSïŒå¯Ÿè±¡ã® GraalVM 25.0 ãªãªãŒã¹ã»ãã¬ã€ã³ã«ã¯ãåŒãç¶ã宿çãªã¯ãªãã£ã«ã«ã»ãããã»ã¢ããããŒãïŒCPUïŒãæäŸãããæ¬çªç°å¢ã®ã¢ããªã±ãŒã·ã§ã³ã«å¿ èŠãªå®å®æ§ã確ä¿ããŸãã
ãã§ã«Â GraalVM ãããŠã³ããŒã ãããããªãªãŒã¹ããŒã ã§è©³çްã確èªãããããããšãã§ããŸãã
GraalVM Downloads
https://www.graalvm.org/downloads/
Release notes
https://www.graalvm.org/release-notes/25.1/
ä»åã®ãªãªãŒã¹ã«ã¯ãããã«å°ååããããã€ãã£ãã€ã¡ãŒãžãNative Imageã¹ãã«ãAIãæŽ»çšããå°éå¯èœæ§ã¡ã¿ããŒã¿ãPolyglotãµã³ãããã¯ã¹ãªã©ãè峿·±ãæ°æ©èœãæºèŒã§ãããã²èªã¿é²ããŠããã®è©³çްãã確èªãã ããïŒ
ãŸããæ³šç®ã®æ©èœããã¢ã玹ä»ãããªãªãŒã¹ã¹ããªãŒã ãã芧ãã ããã
Even Smaller Native Images ðŠ
Native Imageã¯ã軜éã§èªå·±å®çµåã®ãã€ãã£ãå®è¡ãã¡ã€ã«ãçæããããã«åºãå©çšãããŠããŸããããã¯ãã¢ããªã±ãŒã·ã§ã³ã®å®éã«å¿ èŠãªéšåã®ã¿ãå«ããé«åºŠãªå°éå¯èœæ§è§£æããGraalã³ã³ãã€ã©ã«ãã匷åãªæé©åãªã©ãéããŠå®çŸãããŠããŸãã
ä»åã®ãªãªãŒã¹ã§ã¯ããã€ãã£ãã€ã¡ãŒãžã®ãµã€ãºãããã«å°ããããŸãããå¹ åºããã³ãããŒã¯ã«ãããŠçŽ3%ã®æ¹åãèŠãããCLIãèªååããŒã«ãªã©ã®å°èŠæš¡ãªã¢ããªã±ãŒã·ã§ã³ã§ã¯ç¹ã«é¡èãªå¹æã確èªããŠããŸããä»åŸã®ãªãªãŒã¹ã§ã¯ãã€ã¡ãŒãžãµã€ãºã®çž®å°ã«åãããããªãæŽæ°ãæåŸ ã§ããŸãã
ãã®æ¹åã¯ãã€ã¡ãŒãžå
ã«æ ŒçŽãããã¡ã¿ããŒã¿ã®åæžãã€ã¡ãŒãžããŒãé åã®å§çž®ãããã³ããå¹ççãªæ°ãã String.format æé©åã«ãã£ãŠå®çŸãããŠããŸãã
äžäŸãšããŠãGraalVM Native Image ã䜿çšããŠé åžçšã®ã³ã³ãã¯ããªå®è¡ãã¡ã€ã«ãçæããŠãã google-java-format ãããžã§ã¯ãã«ãããŠããµã€ãºæé©åã®åœ±é¿ã枬å®ããŸãããçŸåšã®ãªãªãŒã¹ã® linux-x86â64 ãã«ã㯠33.03 MB ã§ãããGraalVM 25.1 ã§ãã«ããããš 30.74 MB ãšãªãã6.94% çž®å°ããŠããŸãïŒ
Google Java format
https://github.com/google/google-java-format
Native Image Performance ð
çŽ æŽããããã¥ãŒã¹ã§ããä»åã®ãªãªãŒã¹ã§ã¯ãã³ãã¥ããã£ããå€ãã®èŠæããã£ãæ©èœãDarwin/aarch64ã®Native Imageã§G1 GCãå©çšå¯èœã«ãªããŸãããããã«ãããããŒã«ã«ã®Darwin AArch64ãã·ã³ãšLinuxããŒã¹ã®ãããã€ç°å¢ã®éã§ãNative Imageã®ãã«ãèšå®ãçµ±äžããããDarwinäžã§åäœããã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãåäžããããããããšãå¯èœã«ãªããŸãã
ãŸããæ°ããSerial GCããªã·ãŒã§ããAdaptive2ãå°å
¥ããŸãããããã¯ãããã©ã«ãã§Old generationã«ãããŠmark-compact collectionã䜿çšããŸããå¹³åçã«ããã®ããªã·ãŒã¯ã¡ã¢ãªäœ¿çšéãåæžããå€ãã®å Žåãã¹ã«ãŒããããšã¬ã€ãã³ã·ãæ¹åããŸãããã³ãããŒã¯ã§ã¯ãããŒã¯RSSãã¹ã«ãŒããããã¬ã€ãã³ã·ã®åäžã確èªãããŠããŸãããå
·äœçãªå¹æã¯ã¯ãŒã¯ããŒãã«ãã£ãŠç°ãªããŸããäŸãã°ãAdaptive2ã䜿çšããMicronaut ShopCartã¢ããªã±ãŒã·ã§ã³ã§ã¯ãRSSãçŽ8%äœäžããã¹ã«ãŒãããã3.8%åäžããŠããŸãã
Micronaut ShopCart Benchmark
https://github.com/barista-benchmarks/barista/tree/master/benchmarks/micronaut-shopcart
1500 libraries in the GraalVM Reachability Metadata Repository! ð€
Native Image ã¯ãAOT ã³ã³ãã€ã«ã«ãããŠclosed-world assumptionãæ¡çšããŠããŸããéçè§£æã«ãã£ãŠå€ãã¯æšæž¬ã§ããŸãããå®è¡æã«ãã確èªã§ããªãæåãäžéšååšããŸããå°éå¯èœæ§ã¡ã¿ããŒã¿ (reachability metadata) ã¯ããªãã¬ã¯ã·ã§ã³ããªãœãŒã¹ãã·ãªã¢ã©ã€ãºãJNIããããã·ãšãã£ãåçãªæ©èœã«ãããŠããã®ã®ã£ãããåãã圹å²ãæãããŸãã
ãŠãŒã¶ãŒãå°éå¯èœæ§ã¡ã¿ããŒã¿ãããç°¡åã«ããã€èªåçã«æ±ããããã«ãããããæ°å¹Žåãç§ãã¡ã¯ GraalVM å°éå¯èœæ§ã¡ã¿ããŒã¿ãªããžããªïŒGraalVM Reachability Metadata RepositoryïŒãå°å ¥ããŸããããã®ç®æšã¯ã·ã³ãã«ã§ããŠãŒã¶ãŒãã¢ããªã±ãŒã·ã§ã³ããšã«åãäºææ§ã®åé¡ã解決ããã®ã§ã¯ãªããã¡ã¿ããŒã¿ãå ±æã»åå©çšã§ããããã«ããããšã§ããé·å¹Žã«ããããç§ãã¡ã¯SpringãMicronautã®ããŒã ããããŠGraalVMã³ãã¥ããã£ã®ä»ã®ã¡ã³ããŒãšååããŠããã®ãªããžããªãæ§ç¯ããŠããŸããã
GraalVM Reachability Metadata Repository
https://github.com/oracle/graalvm-reachability-metadata
ä»å¹Žãæ¬çªç°å¢åãã®AIãšãŒãžã§ã³ããå°é ããäžãç§ãã¡ã¯ãã®åãçµã¿ãæ¡å€§ãã奜æ©ãèŠåºããŸãããç§ãã¡ã¯ãAIãšãŒãžã§ã³ã矀ãšç¶¿å¯ã«èšèšãããã¯ãŒã¯ãããŒã掻çšããæ°åãã®ã©ã€ãã©ãªã«å¿ èŠãªã¡ã¿ããŒã¿ãçæããŠããŸãããã®ã¯ãŒã¯ãããŒã¯ãNative Imageã¬ããŒãããå§ãŸãããã¹ããéããŠæšæºã©ã€ãã©ãªAPIãä»ããåçãªæåãæ€èšŒãã芳枬ãããå®è¡çµæããã¡ã¿ããŒã¿ãçæããNative ImageãCIãããã³äººéã«ããã¬ãã¥ãŒã§çµæãæ€èšŒããŸãã
ãã®çµæãNative Build Toolsã¯çŸåšãçŽ1500ã®ã©ã€ãã©ãªã®ãªãŒãã¢ããªãã£ã¡ã¿ããŒã¿ãèªåçã«ååŸã§ããããã«ãªããŸããïŒ
Native Build Tools
https://graalvm.github.io/native-build-tools/latest/index.html

ãã®ãªããžããªã掻çšããã«ã¯ãã䜿ãã®MavenãŸãã¯Gradleãããžã§ã¯ãã§Native Build Toolsã䜿çšãããŠããå¿ èŠããããŸãã
æ°ããã©ã€ãã©ãªã«å¯Ÿããå°éå¯èœæ§ã¡ã¿ããŒã¿ããªã¯ãšã¹ãããã«ã¯ãåœè©²ã©ã€ãã©ãªã®Maven coordinatesãæå®ããã ãã§ç°¡åã«è¡ããŸããGitHubã«æ²èŒããŠããæé ã«åŸã£ãŠãã ããã
Manually Request Library Support
https://github.com/oracle/graalvm-reachability-metadata/tree/master#-manually-request-library-support
Native Image Skill for AI Agents ð€
oracle/skills ã« Native Image ã¹ãã« ã远å ããŸããïŒãã®ãªããžããªã¯ãOracle DatabaseãOracle APEXãGraalVMãFusionãOCI ãªã©ãäžè¬ç㪠Oracle ãã¯ãããžãŒã®éçšã«ç¹åããã¹ãã«ãäžå çã«ãŸãšãããã®ã§ãã
Native Image skills
https://github.com/oracle/skills/tree/main/graal/native-image
Oracle skills
https://github.com/oracle/skills
ãã®ã¹ãã«ã¯ãäžè¬ç㪠Native Image ã®ã¯ãŒã¯ãããŒãã¿ã¹ã¯ã«é¢ãããã¹ããã©ã¯ãã£ã¹ãå®è·µçãªæé ã AI ã¢ã·ã¹ã¿ã³ãã«æäŸããŸãããã®ã¹ãã«ã䜿çšããããšã§ãAI ã¢ã·ã¹ã¿ã³ãã¯ä»¥äžã®äœæ¥ãæ¯æŽã§ããŸãïŒ
- Native Image CLI ã䜿çšãããã€ãã£ãå®è¡ãã¡ã€ã«ã®ãã«ã
- Maven ããã³ Gradle ãããžã§ã¯ãåãã® Native Build Tools ã®èšå®
- ããã©ãŒãã³ã¹ããã€ããªãµã€ãºãã¢ãã¿ãªã³ã°ãã»ãã¥ãªãã£ã«é¢ããäžè¬çãªãã«ããªãã·ã§ã³ã®èšå®
- å°éå¯èœæ§ã¡ã¿ããŒã¿ã®åãæ±ã
- ãã«ãã®å€±æãå®è¡æã®å·®ç°ãã¯ã©ã¹ã®åæåã«é¢ããåé¡ãã¡ã¿ããŒã¿ã®æ¬ èœããã®ä»ã®åé¡ã®ãã©ãã«ã·ã¥ãŒãã£ã³ã°
ãããžã§ã¯ãã§ãã®ã¹ãã«ãã詊ãããã ãããã£ãŒãããã¯ããåŸ ã¡ããŠãããŸããGitHubã§è©³çްã確èªããããã³ãã³ãã©ã€ã³ããã€ã³ã¹ããŒã«ããŠãã ããã
npx skills add oracle/skills/graal
Dynamic Class Loading in Native Image ð
ãã®ãªãªãŒã¹ã«ã¯ãNative Imageã«ãããDynamic class loadingã®åæããŒãžã§ã³ãå«ãŸããŠããŸããããã¯ãå®è¡æã«JVMãã€ãã³ãŒããçæããã©ã€ãã©ãªãããŒã«ã«ãšã£ãŠæçšã§ãããjavacã¢ãããŒã·ã§ã³ããã»ããµãåçã«èªã¿èŸŒããªã©ããã©ã°ã€ã³ã®ãããªã掻çšäºäŸãžã®éãéããã®ã§ãããã®ãããªãããžã§ã¯ãã®è¯ãäŸãšããŠãå®è¡æã«ã¯ã©ã¹ãçæã»å€æŽããããã«åºã䜿çšãããŠããã©ã€ãã©ãªã§ããByteBuddyãæããããŸãã
Native Imageã®ãã«ãã«-H:+RuntimeClassLoadingãæå®ããããšã§ã詊ãããã ããŸãã
Cremaã¯ãŸã éçºäžã§ããããã®æ¹åæ§ã«åããæ°ããªäžæ©ãšããŠãRistretto â ã©ã³ã¿ã€ã ããŒããããã¯ã©ã¹çšã®JITã³ã³ãã€ã©ã远å ãããŠããŸãã
Cremaã®ãã«ãã«-H:+GraalJITCompileAtRuntimeãè¿œå æå®ããããšã§ã詊ãããã ããŸãã
Developer Experience Improvements ð ïž
| Windows ã§ã® JFR èšé²ãšããŒããã³ã | Native Image 㯠Windows ã§ããããã®èšºææ©èœããµããŒãããããã«ãªãããã©ãããã©ãŒã éã®ãããã°ã®äžè²«æ§ãåäžã |
--print-optionsïŒ native-imageçšïŒ | å©çšå¯èœãªãã«ããªãã·ã§ã³ããããŒã«ããçŽæ¥ã衚ãMarkdownããŸã㯠JSON 圢åŒã§åºåããªãã·ã§ã³ã®ç¢ºèªãããã¥ã¡ã³ãäœæãããŒã«éçºãªã©ã«æçšã |
| POSIX ã§ã® JFR ç·æ¥ãã³ã | JFR èšé²ãã¢ã¯ãã£ããªç¶æ ã§OOMãšã©ãŒãçºçããå ŽåãNative Image ã¯ã¡ã¢ãªå ã®èšé²ããŒã¿ãç·æ¥ JFR ãã¡ã€ã«ã«ä¿åã§ããã |
| æ¡ä»¶ä»ãå°éå¯èœæ§ã¡ã¿ããŒã¿ã®å®è¡æåé | -XX:TraceMetadataConditionPackages ã䜿çšãããšãå®è¡æã«ãã€ãã£ãã€ã¡ãŒãžããããæ£ç¢ºãªã¡ã¿ããŒã¿ãåéã§ããã |
| ãã¬ãŒã¹ãšãŒãžã§ã³ãã®ãã£ã«ã¿ãªã³ã°ã®ç°¡çŽ å | Native ImageãšãŒãžã§ã³ãã¯ãããã©ã«ãã§çµã¿èŸŒã¿ã®ãã£ã«ã¿ãé©çšããïŒå¿ èŠã«å¿ããŠãã«ã¹ã¿ã ãã£ã«ã¿ãçŽæ¥æž¡ãããšãåŒãç¶ãå¯èœïŒã |
| GraalVMã«å梱ãããå°éå¯èœæ§ã¡ã¿ããŒã¿ã¹ããŒã | ãã®ã¹ããŒãã¯ã<GraalVM_Home>/lib/svm/schemas/reachability-metadata-schema.jsonã§ããŒã«ã«ã«å©çšå¯èœã«ãªã£ããããè©³çŽ°ãªæ€èšŒå¶çŽã远å ãããŠããã |
| ç§»æ€æ§ã®é«ãNative Imageãã³ãã« | ãã³ãã«ãã¹ãããã¯ãã©ãããã©ãŒã éã§ç§»æ€å¯èœã«ãªã£ãã ãã³ãã«ãã©ãŒãããã®ããŒãžã§ã³ã¯ 1.0ã |
| ãã³ãã«ãµã€ãºã®èŠå | åã ã®ãã¡ã€ã«ãŸãã¯ãã³ãã«å šäœã®ãµã€ãºãèšå®ãããå¶éãè¶ ããå Žåããã€ãã£ãã€ã¡ãŒãžãã³ãã«ãèŠåãçºããããã«æ§æã§ããããã«ãªã£ãã |
-Werrorãªãã·ã§ã³ïŒNative ImageçšïŒ | èŠåããšã©ãŒãšããŠæ±ããCI ããã峿 Œãªãã«ããã€ãã©ã€ã³ã§æçšã |
GraalPy ð
GraalPy ã«ãæ°ãã -X jit=0|1|2 ããªã»ããã远å ãããŸããããããã®ããªã»ããã«ãããèµ·åã«æéããããã¢ããªã±ãŒã·ã§ã³ããã¹ã«ãŒãããéèŠã®ã¢ããªã±ãŒã·ã§ã³ãŸã§ãããŸããŸãªã¯ãŒã¯ããŒãã«åãã㊠GraalPy ãç°¡åã«èª¿æŽã§ããããã«ãªããŸãããGraalPy ã©ã³ãã£ãŒã®ããã©ã«ãèšå®ã¯ãjit=1ããªã»ããã«ãªããŸããã
Linux äžã® GraalPy Native ã¹ã¿ã³ãã¢ãã³çã§ã¯ããããããªã³ãã®å°ãã Native Image ã¬ããŒãžã³ã¬ã¯ã·ã§ã³èšå®ãæ¡çšãããããã«ãªããŸãããããã«ãããå€ãã®ã¯ãŒã¯ããŒãã«ãããŠresident set size (RSS) ãåæžãããŸãããèµ·åæéããŠã©ãŒã ã¢ããæéãé·ããªãå¯èœæ§ããããŸãããèªèº«ã®ã¯ãŒã¯ããŒãã§è©ŠããŠã¿ãããšããå§ãããŸãã
Java ãšã®çžäºéçšæ§ã«ãããŠãããã€ãã®æçšãªæ¹åãè¡ãããŸãããå€éšãããã¡ãªããžã§ã¯ãã¯ãPythonã®ãããã¡ãšäºææ§ã®ãããã€ããªãªããžã§ã¯ããšããŠæ±ãããããã«ãªã£ããããmemoryviewãbytesãbytearrayãbinascii.hexlifyãããã³io.BytesIOãªã©ã®APIããããããšèªç¶ã«é£æºããããã«ãªããŸãããããã«ãããPythonãšJavaã®ByteBufferãŸãã¯ByteSequenceãªããžã§ã¯ãéã§ãã³ããŒãæå°éã«æããå Žåã«ãã£ãŠã¯ã³ããŒãªãã§ãã€ããªããŒã¿ãããåãããããšã容æã«ãªã£ãŠããŸãã
çµã¿èŸŒã¿çšéåãã«ãGraalPyã¯å®è¡ã«å¯Ÿãããã粟å¯ãªå¶åŸ¡æ©èœã远å ããŸãããæ°ãã Truffle ãœãŒã¹ãªãã·ã§ã³ã«ãããçµã¿èŸŒã¿éçºè
㯠python.Optimize ã䜿çšã㊠Python ã®æé©åã¬ãã«ãèšå®ããããpython.NewGlobals ã䜿çšããŠæ°ãã globals dictionaryã§ã³ãŒããå®è¡ãããã§ããããã«ãªããŸããããŸããpyexpat çšã®æ°ãã Java ããã¯ãšã³ãã远å ãããŸãããããã¯ããã€ãã£ãã¢ã¯ã»ã¹ãªãã§å®è¡ããå Žåããè€æ°ã®ã³ã³ããã¹ããååšããã·ããªãªã§åœ¹ç«ã¡ãŸãããã®ããã¯ãšã³ããçµã¿èŸŒã¿æã®ããã©ã«ããšããŠäœ¿çšããŸãããã¹ã¿ã³ãã¢ãã³çã§ã¯åŒãç¶ããã€ãã£ãã® expat ãããã©ã«ããšããŠäœ¿çšãããŸãã
GraalPy 25.1 ã§ã¯äºææ§ãåäžããŠããŸãã_ctypesã¢ãžã¥ãŒã«ã¯ã以åã®çµã¿èŸŒã¿é¢æ°åãããå®è£
ã®ä»£ããã«ããã€ãã£ã CPython ããŒãžã§ã³ã䜿çšããããã«ãªããããã«ããäºææ§ãåäžããctypes䜿çšã«äŒŽãã¡ã¢ãªäœ¿çšéãåæžãããŸãããŸããGraalPy 㯠sys.addaudithookã«ç»é²ãããããã¯ã«å¯Ÿã㊠sys.auditã€ãã³ãããã£ã¹ãããããããã«ãªããŸãããããã«ã¯ãPySys_Audit C API ãéããŠçºçããã€ãã³ããå«ãŸããŸãã
ã¹ã¿ã³ãã¢ãã³ã®JVMã¢ãŒãã£ãã¡ã¯ãã¯ãåå¥ã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ãšããŠãªãªãŒã¹ãããªããªããŸãããã¹ã¿ã³ãã¢ãã³ã§ã®ãããã€ã«ã¯ãGraalPyã®ãã€ãã£ãã¢ãŒãã£ãã¡ã¯ãã䜿çšããŠãã ãããJavaãšã®çžäºéçšæ§ãå¿ èŠãªå Žåã¯ãjbangã©ã³ãã£ãŒ
jbang graalpy@oracle/graalpython -c "print('hello from GraalPy')"
ãŸãã¯ã«ã¹ã¿ã åã蟌ã¿ã䜿çšããŠãã ããã
GraalJS and GraalWasm
GraalVM 25.1 ã§ã¯ãGraalJS ã«é¢ããéèŠãªæŽæ°ã宿œãããŠããŸãããã®äžã«ã¯ãæ°ãã ECMAScript ã®ãµããŒããNode.js ã®æŽæ°ãæ°ãã WebAssembly ææ¡ãªã©ãå«ãŸããŠããŸãã
- ECMAScript 2026 ã¢ãŒããšãã®æ©èœããããã©ã«ãã§æå¹ã«ãªããŸããã
- Node.js ã¯ããŒãžã§ã³ 24.14.1 ã«æŽæ°ãããŸããã
- Temporal ã®ãµããŒããå®äºããECMAScript 2027 ã¢ãŒãã§å©çšå¯èœã«ãªããŸããã
--js.ecmascript-version=2027ã§æå¹ã«ããŠãã ããã - å®éšçãªæ°ãã
js.cryptoãªãã·ã§ã³ã«ãããWeb Crypto API ã®getRandomValues()ããã³randomUUID()ãå©çšå¯èœã«ãªããŸããã - å®å®çã®
js.performanceãªãã·ã§ã³ã«ãããWeb High Resolution Time API ã®performance.now()ãtimeOriginãããã³toJSON()ãå©çšå¯èœã«ãªããŸããã - WebAssembly GC ããããŒã¶ã«ãå®è£
ãããããã©ã«ãã§æå¹ã«ãªããŸããïŒ
wasm.GC=falseã§ç¡å¹ã«ã§ããŸãã - GraalWasmã§ã¯ãWebAssemblyã€ã³ã¿ããªã¿ã«ãã€ãã³ãŒããã³ãã©ããŒã¹ã®èšèšãæ¡çšããNative Imageäžã§ã®ã€ã³ã¿ããªã¿åŠçã®ããã©ãŒãã³ã¹ãåäžããŸããã
- æšæºåãããWebAssemblyæ©èœã§ããExtended Constant ExpressionsïŒæ¡åŒµå®æ°åŒïŒããMultiple MemoriesïŒãã«ãã¡ã¢ãªïŒãRelaxed SIMDãããã³Typed Function ReferencesïŒåä»ã颿°åç §ïŒããããã©ã«ãã§æå¹ã«ãªããŸããã
ãã®ãªãªãŒã¹ã«ãããGraalJSããã³GraalWasmã®æŽæ°å 容ã®è©³çްã«ã€ããŠã¯ããªãªãŒã¹ããŒããã確èªãã ããã
Release notes
https://www.graalvm.org/release-notes/25.1/
Polyglot Runtime
GraalVM 25.1ã®æ°æ©èœãšããŠãTruffleãµã³ãããã¯ã¹ãGraalVM Community Editionã§å©çšå¯èœã«ãªããŸãããããã«ãããçµã¿èŸŒã¿éçºè ã¯ãèšå®å¯èœãªã»ãã¥ãªãã£å¢çã®èåŸã§ãã²ã¹ãJavaScriptãWebAssemblyãå®è¡ããããã®å®çšçãªææ®µãåŸãããŸããã¢ããªã±ãŒã·ã§ã³ãAIã«ãã£ãŠçæãããã³ãŒããå®å šã«å®è¡ããæ¹æ³ã暡玢ããäžããµã³ãããã¯ã¹åã®éèŠæ§ã¯ãŸããŸãé«ãŸã£ãŠããŸããäŸãã°ãã¢ããªã±ãŒã·ã§ã³ã¯ããŠãŒã¶ãŒãAIçæã®JavaScriptãã©ã°ã€ã³ãã€ã³ã¹ããŒã«ã§ããããã«ãã€ã€ããããã®ãã©ã°ã€ã³ãèªã¿åããå 容ãå®è¡æéãåŒã³åºããã¢ããªã±ãŒã·ã§ã³APIãå¶éã§ããŸããTruffleãµã³ãããã¯ã¹ã䜿çšããããšã§ãã¢ããªã±ãŒã·ã§ã³ã¯ãã¹ããžã®ã¢ã¯ã»ã¹ããã¡ã€ã«ããœã±ãããžã®ã¢ã¯ã»ã¹ããã€ãã£ãåŒã³åºããããã»ã¹äœæãåºåãã¡ã¢ãªãCPUæéãã¹ããŒãã¡ã³ãæ°ãã¹ã¿ãã¯æ·±åºŠãªã©ãå¶éã§ããŸããå°æ¥ã®ãšã³ããªã§ãTruffleãµã³ãããã¯ã¹ã«ã€ããŠããã«è©³ããã玹ä»ããŸããããã«ã¯ãããè©³çŽ°ãªæè¡è§£èª¬ãããããåºç€ãšããŠããã³ãããã¢ããªã±ãŒã·ã§ã³ãã©ã°ã€ã³ã«å€æããæ°ãããããžã§ã¯ãã«ã€ããŠãè§Šããäºå®ã§ãã
- Polyglot 25.1以éãæé©åæ©èœãåããTruffleã©ã³ã¿ã€ã ã¯ãOracle GraalVMããã³GraalVM Community Editionãå«ãGraalVM 25.1以éã§ã®ã¿ãµããŒããããŸããJDK 21ãŸã§ã®æšæºJDKã§ã¯ãpolyglot isonateïŒpolyglotåé¢ïŒã䜿çšããããã©ã³ã¿ã€ã ã³ã³ãã€ã«ãè¡ããªããã©ãŒã«ããã¯ã©ã³ã¿ã€ã ã䜿çšã§ããŸãã
- JavaScriptã®polyglot isolateã«ãWebAssemblyã®ãµããŒãã远å ãããŸããã
- Languageã©ã³ãã£ãŒãããã©ã«ãã§
--polyglotã䜿çšããããã«ãªã£ããããã¹ã¿ã³ãã¢ãã³ç°å¢ã§ä»ã®èšèªã䜿çšããéã«ãæç€ºçã«ãã®ãªãã·ã§ã³ãæå®ããå¿ èŠã¯ãªããªããŸããã
ãã®ãªãªãŒã¹ã«ãããPolyglotã©ã³ã¿ã€ã ããã³Truffleãã¬ãŒã ã¯ãŒã¯ã®æŽæ°å 容ã®è©³çްã¯ããªãªãŒã¹ããŒããã確èªãã ããã
Release notes
https://www.graalvm.org/release-notes/25.1/
Community and Ecosystem
Native Imageãžã®ç§»è¡åŸãtrivagoã¯GraphQLã²ãŒããŠã§ã€ã®ãŠã©ãŒã ã¢ãããè§£æ¶ããã¬ããªã«æ°ã43ãã12ã«åæžããµãã°ã©ãããšã«æ¯ç§9,000件以äžã®ãªã¯ãšã¹ããåŠçã§ããããã«ãªããŸãããç§»è¡ããã»ã¹ãšæšå¥šäºé ã®è©³çްã¯ä»¥äžã®URLãåç §ããŠãã ããã
Inside trivagoâs GraalVM Migration: Native Image for GraphQL at Scale
https://medium.com/graalvm/inside-trivagos-graalvm-migration-native-image-for-graphql-at-scale-912bca9df841
trivago
https://www.trivago.com/
PicnicãGraalVMäžã§ã«ãŒã«ãšã³ãžã³ãæ§ç¯ããæ¹æ³ãã芧ãã ããããã®ãšã³ãžã³ã§ã¯ãã«ãŒã«ãJavaScriptãŸãã¯Pythonã§å®çŸ©ãããJavaããã¯ãšã³ãã«ãã£ãŠå®è¡ããã1æ¥ããã3,700äžåã®è©äŸ¡ãš200äžåã®ã¢ã¯ã·ã§ã³ãåŠçããŠããŸãã
JavaScript in Java: Driving Dynamic UIs with GraalVM at Scale
https://medium.com/graalvm/javascript-in-java-driving-dynamic-uis-with-graalvm-at-scale-f552fb174df3
èµ·åã«24ããªç§ãããããããã¢ã€ãã«æã®ã¡ã¢ãªäœ¿çšéãããã13 MBã®ããŒã«ã«AWSãšãã¥ã¬ãŒã¿ãŒãšã¯ïŒ 以äžã®åç»ã§ãHector Venturaæ°ããç¡æã§ãªãŒãã³ãœãŒã¹ããããŠGraalVMãæèŒããFlociãã©ã®ããã«æ§ç¯ããããåŠãã§ãã ããã
GraalVMã¯AIãæŽ»çšããè²¢ç®ãåãå
¥ããŠããŸãããæåºããã倿Žã®ã¬ãã¥ãŒãšæ€èšŒã«ã€ããŠã¯ãäŸç¶ãšããŠäººéã®è²¢ç®è
ã責任ãè² ããŸãã
Coding Assistants
https://github.com/oracle/graal/blob/master/CODING_ASSISTANTS.md
Micronaut 5ããªãªãŒã¹ãããããŒã¹ã©ã€ã³ãJava 25ããã³GraalVM 25.0.3ã«ç§»è¡ããŸããã
Micronaut Framework 5.0.0 Released!
https://micronaut.io/2026/05/20/micronaut-framework-5-0-0-released/
Quarkus 3.35ã§ã¯ãPGOã®çµ±åãæšæºã§æäŸãããŠããŸããquarkus.native.pgo.enabled=trueãèšå®ããŠæå¹ã«ããæ¢åçµ±åãã¹ãããããã¡ã€ãªã³ã°ã¯ãŒã¯ãããŒã«æŽ»çšã§ããŸãã
Conclusion
ãã®ãªãªãŒã¹ã®å®çŸã«éããçŽ æŽãããè²¢ç®è ãã³ãã¥ããã£ã®çæ§ããããã ãããã£ãŒãããã¯ããææ¡ããããŠãååã«ããã®å ŽããåãããŠå¿ããæè¬ç³ãäžããŸãã
ä»åã®ãªãªãŒã¹ã«é¢ãããã£ãŒãããã¯ããä»åŸã®ãªãªãŒã¹ã§å®è£ ããŠã»ããæ©èœã®ãææ¡ãããããŸããããSlackãGitHubããŸãã¯LinkedInã«ãŠãã²ãå¯ããã ããã
Slack invitation page
https://www.graalvm.org/slack-invitation/
GitHub repo
https://github.com/oracle/graal
LinkedIn
https://www.linkedin.com/company/graalvm/
ããããã£ããæ°ããGraalVMãã詊ããã ããïŒ ð
Download Oracle GraalVM
https://www.graalvm.org/downloads/