2011/05/13
Game Of Life 实现最优寻址之一单线程
MazeOfLife类,实现细胞规则的check,和网格的重新分布,算法的寻址。重点类。
MazeQueue类是容器类,这里的所以节点内容都存放在此类属性LinkedList(是个好东西)类容器中。
Node类节点类,包括point,当前point对应的网格数组分布,前节点preNode。
Point类是坐标点类,(0,0)开始,(0,1)是数组的第0行,第一列。
DebugLog类是打印类,用于结果输出和Debug输出用。
重点类使用了计时器。测试时间。System.currentTimeMillis();
MazeOfLife.class
MazeQueue.class
Node.class
Point.class
DebugLog.class
如果所有路径都寻址的话,最终在寻址到12895条路径,java的new 的对象太多。heap空间不足。
解决方案路径12895--size859715: 344825015317260242205
报
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at intel.life.MazeOfLife.ruleScanCheck(MazeOfLife.java:357)
at intel.life.MazeOfLife.doSearch(MazeOfLife.java:183)
at intel.life.MazeOfLife.main(MazeOfLife.java:66)
内存资源不足了。
下面开始实现多线程的寻址。
期待......