2011-04-19 76 views
0

我有一个运行在MySQL上的Web应用程序,并使用Java,Struts2和JSP技术。在Java中高效地读取输出数据?

有一个算法运行在它上面,我想测试它的性能(甚至秒对我来说很重要)。我将在页面上看到输出为图形。我将通过Ajax获取信息并每秒检查新信息并将其写入图形。

我的问题:

我的一个类为图形输入产生输出。什么是沟通这个最好的方式。例如,将输出写入数据库表,另一个类将从那里收集该值,或写入文件,异步写入数据库并获取值等。

我需要做的该操作具有高性能,因为该算法非常使用系统资源,应该以最佳性能运行,因此我需要一个不会影响总体性能的解决方案。

+0

嗨,我冒昧地让你的问题更容易阅读。 – sleske 2011-04-19 08:08:00

+0

当你说你想收集和交流输出时,这只是在这个性能测试的背景下吗?如果是这样,不能在客户端完成,以避免使用服务器资源? – 2011-04-19 08:08:41

+0

如果这些类在同一个进程中,为什么不把数据保存在内存中?总的来说,如果你在做关键性能方面的事情,那么选择Java是一个坏主意。您是否考虑过在C++中实现应用程序的一部分,并使用JNI将其与Java应用程序接口? – 2011-04-19 08:15:47

回答

0

由于您每隔一秒查询一次,您只对最新状态感兴趣,这意味着您的算法可以简单地将此状态更新为内存中的变量。产生输出的类将可以访问这个变量。

我假设你的图形将通过javascript进行更新。让产生输出的类仅在读取变量的值并将其作为JSON字符串返回时才产生输出。在你的情况下,Ajax请求应该查询这个类(每秒)。该类将返回一个JSON字符串,您的JavaScript将有权访问该字符串,并且可以使用该字符串更新图形。