Java:避免写入和读取文件
Posted
技术标签:
【中文标题】Java:避免写入和读取文件【英文标题】:Java: Avoid writing and reading to files 【发布时间】:2021-09-06 03:09:36 【问题描述】:我正在使用交互式经纪人 Java API 来获取实时市场数据。我存储数据的愚蠢方法是将它们写入文件(使用 Java)并每 30 分钟读取一次文件(通过从 Java 中调用 Python)。这是低效的。
我想知道有没有办法真正避免读取/写入文件,而只是“流式传输”在这 30 分钟内收集的数据并将它们传送到 Python 中。请原谅我,因为我不知道“流”是否是正确的词。解决这个问题的有效方法是什么?请注意,我不是在寻找在 Java 中调用 Python 程序的代码。
【问题讨论】:
下面的这个链接可能会有所帮助。但我会翻转它。从 Python 脚本中调用 Java 代码并在 30 分钟或任何时间间隔从 cron 作业中调用所有代码可能是有意义的。 ***.com/questions/3356554/… 如果你只是在玩玩,那就在 python API 中玩玩吧。只有当您已经拥有大型 Java 代码库时,您的问题才有意义。 【参考方案1】:我研究过的一种方法是使用消息队列(如 Kafka、Rabbit MQ 等)在服务之间“流式传输”数据。
您可以在您的 Java 服务中设置一个调度程序,该调度程序将每 30 分钟生成一次包含您的数据的消息,另一方面,您的 Python 程序通过订阅特定主题来使用相同的消息。
这里的优势是消息队列,尤其是 Kafka,专为高速数据聚合而设计。 此外,您无需从 Java 代码中显式调用 python 程序。
【讨论】:
以上是关于Java:避免写入和读取文件的主要内容,如果未能解决你的问题,请参考以下文章
java 导出 excel 最佳实践,大文件 excel 避免OOM(内存溢出) 框架-02-API