Java可有1000X1000矩阵运算的能力,若有,如何?速度怎样?(100分)

  • 主题发起人 主题发起人 wtang
  • 开始时间 开始时间
W

wtang

Unregistered / Unconfirmed
GUEST, unregistred user!
我需要构建1000X1000 agent 模型。
选用的初始语言为Java,因其有一Open Source software,可是,
在测试1000X1000时,系统提示 Out of memory.
望告知如何解决。谢谢。
 
不是不数组定义有问题呢
 
兄弟你学过 线形代数没有???
1000×1000的矩阵是多么可怕的庞大!!!
当然Out of memory!!!
怎么解决??只有靠你的数学功底,以及这个矩阵数据的特点,把它拆开算了。
不过我觉得1000×1000人类绝对无法相像!!不可能的。
我记得上学的时候,一个6×6的要算对它,就要费2个小时。要拆分它,就更难了。
也不知道你的程序干什么要算这个,有必要吗?
 
不是不能算,如果你一定要算的话。
出错是因为jvm使用的内存不够了
我们可以通过限制JVM的最大使用内存来让JVM及时回收。
java -Xms128m -Xmx256m
-Xms 是JVM最小可以使用的内存
-Xmx 是JVM最大可以使用的内存 ( 一般不准确,但是可以忽略)
那样JVM的内存不会无限制的增长最终导致JVM Crash
 
to skyknight
老大,都什么时候的帖子,居然让你给翻出来了?
你看帖主他自己其实一点都不关心,说不定是哪天突发奇想问的问题。
不过您老真是功力深厚,小弟长了不少见识。
请问,128M的内存,系统本身也要耗内存的呀!到底该写多少比较合适呢?
Xms是参数关键字吗?
我打 java -? 怎么没有?
 
分配给jvm多少内存就看程序的需要了,分配的太少,则经常进行gc,gc的时候jvm
是没有任何响应的;分配的太多,则影响其他程序的运行。
那个参数可以用java -X来看详细信息
 
to Skyknight:
Great!解决此问题的方法正是如此!可是java在执行的时候还是很慢。我分配了512m内存
给VM,结果速度太慢,请教Skynight:可有方法提高之?
to wukw:
前段时间忙于考试,故久未光临。见谅见谅!
 
不好意思,我是见到太多的人发了帖子不负责任,永远再也没回过。
幸好大侠您是考试去了:)
不错不错,又学到一个知识点。
 
算的慢可想的办法不多
1、优化程序
2、编译的时候加上-O
3、运行的时候加上-hotspot
其他的还没有想到
 
多人接受答案了。
 
后退
顶部