代码之家  ›  专栏  ›  技术社区  ›  Dead Programmer

在JVM之间共享数据

  •  7
  • Dead Programmer  · 技术社区  · 14 年前

    今天有人问我这个问题,关于共享从在一个JVM 1中运行的线程T1到在另一个JVM 2中运行的线程2以及类似于JVM 3中的另一个线程T3的数据。做了一些家庭作业后,我告诉了下面的答案。如果你有更好和有效的答案,请告诉我。

    1. 序列化
    2. 爪哇尼奥河
    -------------                                                   -----------------
    jvm 1                  PASS THE DATA TO ANOTHER THREAD IN A         JVM2  
    
                             NOTHER JVM
                             ===============>>>>>  
    tHREAD T1                                                          tHREAD T2
    --------------                                                  -------------------
    
    1 回复  |  直到 13 年前
        1
  •  11
  •   Vivien Barousse    14 年前

    我认为这取决于应用程序的上下文。您有多个选项:

    • 序列化可以工作,但如果代码更改,很可能会中断。这可能导致数据丢失。
    • 要在多个应用程序之间共享数据,可以使用数据库。这是我心目中最好的选择之一,因为您的数据是结构化的。
    • 此外,还可以使用格式化的文本文件。只需选择如何格式化数据,将其放入文件中,然后从另一个应用程序读取该文件。
    • 如果您的JVM在不同的计算机上,您可以尝试使用套接字。这样,您的应用程序就能够通过网络进行通信。
    • 如果您可以让一个服务器充当对象的中继,那么您也可以使用消息传递服务器(我在考虑JMS)。