콘텐츠로 이동
Image 문서0.3

Java 25 FFM 백엔드

최신 안정판 Image 0.3.0 릴리스 기준

bluetape4k-images-vips-java25는 vips-ffm 바인딩과 Java Foreign Function and Memory API로 공통 Vips API를 구현한다.

Java 25 도구 체인, 시스템 libvips와 다음 옵션이 필요하다.

--enable-native-access=ALL-UNNAMED

macOS Homebrew 환경에서 0.3.0 Gradle 테스트는 /opt/homebrew/lib가 있으면 DYLD_LIBRARY_PATH로 노출한다. 운영 시작 설정은 Gradle 테스트 환경에 기대지 말고 같은 역할의 라이브러리 경로를 제공해야 한다.

공통 API 뒤에서 FfmVipsRuntimeFfmVipsImage를 쓴다. 원본과 연산 결과를 use로 닫는다. 이미지 읽기, 리사이즈, 썸네일, 자르기, 코루틴 도우미, Okio 소스와 JPEG/PNG/WebP/HEIF 계열 작성기를 제공하며 실제 지원 범위는 네이티브 설치에 달려 있다.

FFM 의존성은 Java 25 클래스 파일을 사용한다. Java 21 빌드 JVM의 AtomicFU 변환기가 이를 안전하게 처리할 수 없으므로 이 모듈은 AtomicFU JVM 변환을 끈다. 이 빌드 제약을 유지해야 한다.

JDK 25와 native-access 옵션을 배포 요구사항으로 받아들일 때만 이 백엔드를 쓴다. 저장소 벤치마크 숫자만 보고 고르지 말고 대상 컨테이너나 실행 환경에서 시작 동작, 코덱, 메모리와 처리량을 검증한다.