Skip to main content

Posts

Showing posts with the label native

Spring on GraalVM Implementation

Topic: GraalVM                                                                                                                            Level: Advanced Spring on GraalVM Implementation In this consecutive post ( prior post ), we shall exploit the theory of the previous post on GraalVM, Native Image, and Spring Native and set up a Spring Boot project running on GraalVM that leverages static analysis and linkage during the build time with ahead-of-time compilation delivering a windows native executable. Prerequisites GraalVM JDK 11 distribution ( https://github.com/graalvm/graalvm-ce-builds/releases/tag/vm-22.3.0 ) - ensure you revise the JAVA_HOME and PATH appropriately Native Image executable (for windows, https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=BuildTools&rel=16 ) Maven build tool IntelliJ IDE MySQL Windows 10 OS We will commence by downloading a Spring template with Spring Boot >=2.7.5 version running on JDK 11 with the dependencies for Gr

Spring on GraalVM

Topic: GraalVM                                                                                                                            Level: Advanced GraalVM - What? GraalVM is a virtual machine for seamless interoperability and polyglot language compilation that offers highly optimized runtime executable binaries, speeding the application startup and reducing memory consumption ideal for microservices, serverless, and cloud workloads in general. Any source code running on the Java Hotspot VM can also run on the GraalVM. Native Images - What? Native Image is a technology by which a java code is compiled ahead of time into a binary executable, termed a native executable which doesn't require a JVM to run. The notion of the native executable is to have optimized machine code (packaging only the necessary reachable runtime application classes, standard library classes, language runtime, statically linked native code from JDK, and other resources making it a lightweight artifact) o