我在用 Java 调用 MATLAB JA Builder 编译代码时遇到了一个奇怪的问题。详情如下:
- 该代码
load()
对大型 .mat 文件执行 - 如果 mat 文件在 MATLAB 中打开(通过导入 .mat),一切正常并占用约 900MB 内存
- 如果从 Java 应用程序调用代码(它只是导入由 JA Builder 构建的函数),我会从 MATLAB 脚本中耗尽内存
- 我尝试将 Xmx 设置得非常高,但这似乎根本没有做任何事情
- 更奇怪的是,如果通过Eclipse调试器运行java程序,最多可以使用900MB的ram,并且
load()
函数成功
有谁知道会发生什么?
我附上了堆栈跟踪的一部分:
???使用 ==> 加载时出错 记不清。键入 HELP MEMORY 作为您的选项。 ... Matlab M 代码堆栈跟踪 ... 文件 C:\Users\HiME\AppData\Local\MathWorks\mcr_cache_v78\fileProcesso_39586D5669D9A968B2CD5231A43620E4\fileProcesso\getHeaders.m,名称 getHeaders,第 8 行。 com.mathworks.toolbox.javabuilder.MWException:使用 ==> 加载时出错 记不清。为您的选项键入 HELP MEMORY。=>getHeaders.m 在 8 处出现错误