为了加快我的图像处理应用程序,我试图从中间开始处理数组中的值,并使用从 0 开始的索引。
例如,当我使用两个数组时,我经常会遇到这样的情况:
public void work(int[] array1, int[] array2, int offset)
{
int len = array1.length;
for (int i = 0; i < len; i++)
array1[i] += array2[i + offset];
}
所以我想创建一个新变量array3,它直接映射到array2的中间(不是副本),所以我可以这样做:
public void work(int[] array1, int[] array2, int offset)
{
int[] array3 = array2[offset]...;
int len = array1.length;
for (int i = 0; i < len; i++)
array1[i] += array3[i];
}
实际上,我想要一个与此 c 语句等效的 Java:
int *array3ptr = array2ptr + offset;
注意:我对 JNI 或任何东西没有任何经验,所以如果归结为使用它,请提供工作示例。