Spring Boot

GraalVM Native Images

GraalVM native image cho khởi động nhanh, biên dịch native, AOT, reflection hints, hạn chế

20 câu hỏi phỏng vấn·
Senior
1

GraalVM Native Image là gì?

Câu trả lời

GraalVM Native Image là một công nghệ biên dịch các ứng dụng Java thành các tệp thực thi native độc lập thông qua biên dịch AOT (Ahead-of-Time). Khác với JVM truyền thống sử dụng biên dịch JIT (Just-In-Time) lúc chạy, Native Image phân tích và biên dịch toàn bộ mã trước. Điều này cho phép khởi động gần như tức thì (mili giây), giảm dung lượng bộ nhớ và không phụ thuộc vào JVM khi thực thi.

2

Sự khác biệt chính giữa biên dịch AOT và JIT là gì?

Câu trả lời

Biên dịch AOT (Ahead-of-Time) phân tích và biên dịch toàn bộ mã trước khi thực thi, tạo ra một native executable được tối ưu hóa. Biên dịch JIT (Just-In-Time) biên dịch Java bytecode thành mã máy dần dần trong quá trình thực thi. AOT cung cấp khả năng khởi động tức thì nhưng cần thời gian build lâu hơn, trong khi JIT khởi động chậm nhưng tối ưu hóa mã theo thời gian dựa trên các mẫu sử dụng thực tế.

3

Sử dụng Maven plugin nào để build native image Spring Boot?

Câu trả lời

native-maven-plugin từ nhóm org.graalvm.buildtools là plugin chính thức để build native image với Maven. Spring Boot starter parent kích hoạt nó tự động trong profile 'native'. Chỉ cần khai báo plugin trong phần plugins và chạy mvn -Pnative spring-boot:build-image hoặc mvn -Pnative package tùy theo chế độ mong muốn.

4

Làm thế nào để kích hoạt Maven profile cho biên dịch native Spring Boot?

5

Nguyên tắc 'closed-world assumption' trong GraalVM Native Image là gì?

+17 câu hỏi phỏng vấn

Các chủ đề phỏng vấn Spring Boot khác

Nắm vững Spring Boot cho lần phỏng vấn tiếp theo

Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.

Bắt đầu miễn phí