Ruby FFI gem has Pointer#slice, JRuby does not: https://github.com/ffi/ffi/blob/d42fe3e5abea6fce3f79f4b8db4728ba454d0f51/ext/ffi_c/Pointer.c#L237
Personally I use slice to slice any arbitrary pointer from the beginning of the pointer, in order to give it size information (to ensure I do not go out of bounds when reading or writing).
pointer = FFI::Pointer.new(arbitrary_address).slice(0, length)
# any attempts to manipulate beyond pointer arbitrary_address + length fails with an error
Implement FFI::AbstractMemory#slice to fix #608