Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops 优化/重新设计此java代码_Loops_Array Algorithms - Fatal编程技术网

Loops 优化/重新设计此java代码

Loops 优化/重新设计此java代码,loops,array-algorithms,Loops,Array Algorithms,乡亲们。 我需要有关设计模式(或类似模式)决策的帮助或建议,以便使用: 有一个应用程序,通过EJB在weblogic上运行。应用程序的一部分处理非常大的对象数据集(几十个或几十万个),并构造一个由多个部分组成的xml文件 生成的XML与此类似: <sect1> <page> <detail_1>something</detail_1> <detail_2>something</detail_2&

乡亲们。
我需要有关设计模式(或类似模式)决策的帮助或建议,以便使用: 有一个应用程序,通过EJB在weblogic上运行。应用程序的一部分处理非常大的对象数据集(几十个或几十万个),并构造一个由多个部分组成的xml文件

生成的XML与此类似:

<sect1>
    <page>
       <detail_1>something</detail_1>
       <detail_2>something</detail_2>
       ... ... a lot of these
       <detail_10000000>something</detail_10000000>
    </page>
</sect1>
<sect2>
    <page>
       <detail_1>something</detail_1>
       <detail_2>something</detail_2>
       ... ... a lot of these
       <detail_10000000>something</detail_10000000>
    </page>
</sect2>
<sect3>
    <page>
       <detail_1>something</detail_1>
       <detail_2>something</detail_2>
       ... ... a lot of these
       <detail_10000000>something</detail_10000000>
    </page>
</sect3>

某物
某物
... ... 很多这样的
某物
某物
某物
... ... 很多这样的
某物
某物
某物
... ... 很多这样的
某物
问题在于,每个“section_i”都是通过应用程序在这些大型数据集上循环并在编写实际的xml之前对它们执行一些操作来构建的。我不能控制行动,他们要留下来。但由于每个部分都是按顺序完成的——一个接一个,每次从开始到结束遍历列表时。我正在考虑使用多线程技术,即指定一个线程来创建xml的每个部分。但对表现有怀疑。在现有系统中,这需要很长时间,但最终会完成。如果我转向多线程,我担心在运行其他应用程序的服务器上,这会产生其他问题。 是否有任何已知的模式可以解决此类问题?我试图将ArrayList的使用改为哈希表示集,但这会加快查找速度,而不是遍历时间。
有什么建议吗?有人知道要检查哪些资源吗?

xml有什么意义?它会被其他服务所消耗吗?在数十万个字符串上循环并没有那么慢。我认为您需要确定导致减速的原因并对其进行优化。@Danny,这些不是字符串,是什么循环了。很抱歉,让人困惑,我发布的xml只是结果的一个示例。列表中的对象表示数据库中的记录,具有各种类型的字段。而且物体也被操作。不仅仅是写入xml。Xml由系统的其他体系结构部分操作——在某些情况下,通过XSLTransformer转换为PDF。某些特定格式的文件在其他实例中创建。所以xml是一种层次化的表示,在我的例子中,它是一个客户账单。而“条”是条例草案的一条