เพิ่งเห็นว่า Spring Boot RC2 ถูกปล่อยออกมาแล้ว
โดยสิ่งที่เพิ่มเข้ามาเป็นค่า default คือ Native Java ด้วย GraalVM นั่นเอง
ทำการแปลงจาก bytecode มาเป็น native machine code (executable หรือ native image) ให้
ทำให้สามารถ run ระบบงานโดยไม่ต้องใช้งาน JVM
ประโยชน์ที่ได้รับ ประบกอบไปด้วย
- ระบบงาน start ได้เร็วขึ้น
- Latency น้อยลง
- ใช้ memory และ CPU น้อยลง
มาลองใช้งานนิดหน่อย
สำหรับการ build ด้วย Gradle
ปล. อย่าลืมติดตั้ง
GraalVM :: Native Image และตรวจสอย $JAVA_HOME และ $GRAALVM_HOME
ทำการ build native image กันจาก Gradle
[gist id="b33e694a9ac992d1a2374b0ddc88bd48" file="2.txt"]เปรียบเทียบการ run แบบเดิมกับ native ว่าต่างกันอย่างไร
สำหรับ start up time
มาลองทดสอบใช้งานกันดูครับ
Reference Websites
- https://blogs.oracle.com/java/post/go-native-with-spring-boot-3-and-graalvm