java.lang.OutOfMemoryError:使用Matlab R2013a的java堆空间

java.lang.OutOfMemoryError:使用Matlab R2013a的java堆空间,java,matlab,Java,Matlab,我是mat lab和java的新手,所以我想列出外接程序while loop 操作系统:Windows7,64位 在Mat lab零件侧 在Java类部件侧 public void list_method(List<Integer> points){ while(true){ Sample sample = new Sample(); sample.getMatrix().add(points);} } 注意:我还提到了链接:您不需要无限

我是mat lab和java的新手,所以我想列出外接程序while loop

操作系统:Windows7,64位

  • 在Mat lab零件侧


  • 在Java类部件侧

    public void list_method(List<Integer> points){
    
       while(true){
    
         Sample sample = new Sample();
    
         sample.getMatrix().add(points);}
    
     }
    

    注意:我还提到了链接:

    您不需要无限while循环,在您的情况下,假设getMatrix返回一个list对象,并且您正在向其中添加另一个list,这将起作用

         Sample sample = new Sample();
    
         sample.getMatrix().add(points);
    
    如果只想将列表的内容添加到getMatrix()列表中,则可以执行以下操作:

         sample.getMatrix().addAll(points);
    

    希望这有帮助。

    如果MATLAB中的Java堆空间不足,可以在MATLAB首选项中增加分配给它的内存量

    根据您的MATLAB版本,通过从“文件”菜单中选择“首选项”,或单击toolstrip中的“首选项”,打开“首选项”对话框


    在General部分,Java堆内存下,您应该找到一个控制Java堆大小的设置。默认值非常低,因此将其增加到您认为必要的值。您需要重新启动MATLAB才能使该设置生效。

    为什么while循环是无限的?谢谢您的回复。因为我是列表添加,所以我希望得到类似sample.getMatrix().add(points)的结果//我的列表值如[1,2,3,4,5,6,7,8][9,8,3,2,2,43,22,1][33,2,2,2,2,23,2,2,2,2]等感谢您的回复,我尝试了收集公共无效列表的方法(收集您可以再次显示您的呼叫代码和示例类代码吗?谢谢您的回复。我在Mat lab侧部的呼叫代码来自输入网络摄像头视频处理,我得到了1 x 8矩阵坐标值,而(1)矩阵=[右唇形;右唇形;左唇形;左唇形;上唇形;上唇形;下唇形;下唇形]同一论坛中剩余可用代码的%end on具有私有列表矩阵的Java代码部分示例类;//Getter Setter public List getMatrix(){return matrix;}在这种情况下,第一个示例将工作
    Sample.getMatrix().add(点)
    并且示例对象只能创建一次。感谢您的回复。请让我知道带有示例的简要说明?感谢您的回复。在我关闭mat lab后,我已将java堆大小最大值增加到1433 MB集,然后再次运行mat lab应用程序。我收到了相同的错误?
         Sample sample = new Sample();
    
         sample.getMatrix().add(points);
    
         sample.getMatrix().addAll(points);