The biggest feature is that you can write different primitives at ‘native speed’ into the same memory-location.
There are some drawbacks though, because the native buffers are not always garbage-collected as they should. They live outside the heap, and therefore don’t trigger the GC like arrays. There is an explicit System.gc() in the code that mallocs - that does try to free the tiny Buffer objects representing the allocated memory - but as we all know… System.gc() is just a hint to the JVM, no guarantees, so expect some OutOfMemoryErrors that for once don’t terminate the VM…