将双精度数组从 Python 移动到 Java

我有一个 Python 脚本,可以计算一些非常小的 NumPy 数组,并且我在需要使用这些数组的单独机器上有一个 Java 服务。

这些数组有时需要重新计算,然后由 Java 服务使用。将 NumPy 数组转储到磁盘并将其加载到 Java 中的最佳方法是float[][]什么?

我知道我可以使用 JSON 来做到这一点(Python 脚本将 NumPy 数组转储到 JSON 文件,Java 服务float[][]从中恢复),但是还有其他“首选”方式吗?


慕神8447489
浏览 258回答 2
2回答

江户川乱折腾

您可以使用Java和PythonHDF5支持的,但这仍然是一个技巧。是否有一些通用接口(例如 DLL 等)可以用来交换指向 RAM 中数据缓冲区的指针?如果这是不可能的,我会坚持使用老式 ASCII CSV 文件而不是使用 JSON。

三国纷争

将文件保存到磁盘以在不同应用程序之间交换数据对我来说听起来像是一种hacky 方法。根据您的结构和复杂性,我会考虑与各自的客户端一起实现消息队列(即 redis)或文档数据库(即 mongo 或首选替代方案),以在应用程序之间进行数据交换。在数据结构本身上,我会为任务选择 json 或 csv。如果您需要人类可读性或严格的结构,json 是您的工具。如果数据仅供机器读取,csv 需要更少的空间来存储相同数量的数据。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java