我正在编写一个对实时生成的数据进行操作的java应用程序。
数据是以每秒约30个浮点数生成的一系列浮点数,我正在搜索数据中的特定模式,并希望在最短的时间内找到并做出反应。
那说我不能让进程等待一些数据缓冲,而是在收到一个新浮点数时对累积系列进行操作(将它与之前的浮点数进行比较)
每次分析系列会导致大约5-6个java函数调用。
现在数据速率为每秒30个样本,程序运行速度为每秒180次!
这个费率效率低吗?它会在一段时间后导致堆栈溢出还是对现代硬件安全?如果这是一个非常高的利率,可以使用什么其他策略
答案 0 :(得分:0)
在bin下的JDK文件夹中,您会找到一个名为jvisualvm.exe的应用程序,它可以让您监视多个内容。您有CPU /堆/类和线程的常规图。它还为Threads提供了一个状态概述,这可能不是那么有趣。但是,如果发现性能问题,采样器可能会更深入地了解堆栈/堆。
如果您在主线程上运行操作,则可以选择在自己的线程中处理它。