Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Mục đích của JLink trong Java 9

Mục đích chính của JLink là tạo Custom JRE (JRE tùy chỉnh). Mặc định JRE của Oracle cỡ ~214 MB. Chạy chương trình "Hello World" 1 KB chỉ cần vài class (String, System, Object, class chính) – nạp 214 MB là lãng phí, không phù hợp IoT/embedded.

Tạo Custom JRE với JLink

jlink --module-path out --add-modules {modules} --output {jre-name}

Tính năng nổi bật

  • Giảm kích thước JRE chỉ chứa module cần thiết (nhờ JPMS).
  • Nén (Compress): chỉ định level nén khi chạy JLink.
  • Launcher: tạo script thực thi chương trình từ bất kỳ đâu chỉ bằng tên chương trình, không cần gõ java hay javac.

Ví dụ thực tế

Giả sử module app tên com.example.hello:

# Compile
javac -d out --module-source-path src $(find src -name "*.java")

# Tạo custom JRE
jlink --module-path out:$JAVA_HOME/jmods \
      --add-modules com.example.hello \
      --output myjre \
      --compress=2 \
      --launcher hello=com.example.hello/com.example.Main

# Chạy
./myjre/bin/hello

Kết quả: JRE chỉ vài chục MB, phù hợp container, IoT, serverless.