java - 在 JVM 之间共享数据

标签 java jvm

今天有人问我这个问题,关于从一个 jvm 1 中运行的线程 t1 到另一个 jvm 2 中运行的线程 2 的共享数据,类似于 jvm 3 中的另一个线程 t3。经过一些作业后,我告诉了以下内容回答。如果您有更好更有效的答案,请告诉我。

  1. 序列化
  2. java nio 流
-------------                                                   -----------------
jvm 1                  PASS THE DATA TO ANOTHER THREAD IN A         JVM2  

                         NOTHER JVM
                         ===============>>>>>  
tHREAD T1                                                          tHREAD T2
--------------                                                  -------------------

最佳答案

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

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

关于java - 在 JVM 之间共享数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3743133/

相关文章:

java - 计算 n^n 中的第一个和最后一个 k 数字

java - 如何在 java 中重绘打印控制台信息?

java - jdk1.6内存布局

java - Java 解释器或任何解释器到底是如何工作的?

c++ - 'Chunk * _chunk = new (size) Chunk(size)' 是什么意思?

java - 使用 Java 在 IntelliJ 新窗口中进行多项目

java - 传递给持久 JPA Spring boot 保存的分离实体

java - Jsoup解析——同时解析多个链接

java - 有没有什么好的解释java语言的库?

java - com.ibm.websphere.management.exception.AdminException :