我有一个使用 JRI 调用 R 脚本的 Java 程序。在调用 re.eval("setMatValue('" + id + "'," + x + "," + y + "," + value + ")");
时,我得到一个 java 内存不足异常,这对我来说很奇怪,因为 R 中的函数既没有返回任何类型的值,也没有将(不存在的)结果映射到 java 对象。矩阵仅存储在 R 上下文中并由字符串引用。
R 使用的内存是否包含在 Java 堆中?还是 JRI 分配了实际上不需要的空间?
对于更大的范围:我正在尝试将在 Java 中实现的代码分析所使用的矩阵的处理外包给 R。矩阵变得非常大,因此在 java 中占用了太多空间,我没有找到任何java中的矩阵实现能够创建该大小的矩阵。