Apache Arrow
Table of Contents
1 Interface BufferAllocator
https://arrow.apache.org/docs/java/reference/org/apache/arrow/memory/BufferAllocator.html
바이트 버퍼 할당을 처리하는 래퍼 클래스. 사용자가 지정된 메서드만 사용하도록 합니다.
BufferAllocator newChildAllocator(String name, AllocationListener listener, long initReservation, long maxAllocation)
Create a new child allocator.
- Parameters:
- name - the name of the allocator.
- listener - allocation listener for the newly created child
- initReservation - the initial space reservation (obtained from this allocator)
- maxAllocation - maximum amount of space the new allocator can allocate
- Returns: the new allocator, or null if it can't be created
default ArrowBuf wrapForeignAllocation(ForeignAllocation allocation)
실험적: 이 버퍼 할당기 외부에서 생성된 할당을 래핑합니다. (EXPERIMENTAL: Wrap an allocation created outside this BufferAllocator.)
이 기능은 네이티브 코드(native code)의 할당(allocation)을 Java 할당 버퍼와 동일한 메모리 관리 프레임워크에 통합하여 사용자에게 일관된 API를 제공하는 데 유용합니다. 생성된 버퍼는 이 Allocator에 의해 추적되며 Java 할당 버퍼(Java-allocated buffers)처럼 전송할 수 있습니다.
사용되는 코드 링크 : https://github.com/xtdb/xtdb/blob/527b17d11e2d9e5715ec3d0d47b73350d659f534/core/src/main/clojure/xtdb/util.clj