JNI uses bytebuffer