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