Here is a possible solution, given the little information you gave.
Java :
package com.stackoverflow;
public class JNIQuestion
{
static native void fillByteArray(byte[] buffer);
}
C :
JNIEXPORT void JNICALL Java_com_stackoverflow_JNIQuestion_fillByteArray(JNIEnv* env, jbyteArray array)
{
jboolean isCopy;
jbyte* buffer = (*env)->GetByteArrayElements(env, array, &isCopy);
jsize length = (*env)->GetArrayLength(env, array);
jsize i;
for (i = 0; i < length; ++i)
buffer[i] = i;
(*env)->ReleaseByteArrayElements(env, buffer, 0);
}
ByteBuffer (ByteBuffer.allocateDirect()) . ByteBuffer, Java .
, byte[] , JVM , GetByteArrayElements().
, JNI, , C Java C .
, .
PS: , . JNI Guide JNI Tutorial.