Внешние ключи являются инструментом ссылочной целостности, не инструментом производительности. По крайней мере, в SQL Server, создание FK не создает связанный индекс, и необходимо создать индексы на всех полях FK для улучшения, ищут времена.
Хорошо, я разобрался. Я запишу его здесь, чтобы другие также могли им воспользоваться.
Рассмотрим следующий метод Java, который возвращает массив байтов (просто фиктивный код, без проверок и т.д.)
public static byte[] GetData(){
return myStore.getData();
}
, а на стороне C вы можете получить байт [] как следующий
void get_data()
{
int len = 0;
char* value = NULL;
/*Consider j_class, and j_methodid are already initialized*/
jbyteArray j_value = (*env)->CallStaticObjectMethod(env, j_class, j_methodid);
if(j_value != NULL)
{
len = (*env)->GetArrayLength(env, j_value);
value = (*env)->GetByteArrayElements(env, j_value, NULL);
}
/*later on release the resource*/
(*env)->ReleaseByteArrayElements(env, j_value, value, 0);
}
Я проверил его, и он работает. Я собираюсь сейчас проверить это на двумерный массив. Я думаю, что это будет то же самое, только вы получите jobjectArray, а каждый элемент этого массива - jbyteArray.