站内搜索: 请输入搜索关键词

当前页面: 开发资料首页Java 专题java中不同的工程怎么样才能共享同一块内存?

java中不同的工程怎么样才能共享同一块内存?

摘要: java中不同的工程怎么样才能共享同一块内存?


近日做一个工程需要用到UDP广播收发信息,我把收到的消息放到一个数组中,作为共享数组让其他的java程序访问。现在我有一个疑问:其他的java程序是放在另一个工程中的,也就是我要访问共享数组里的数据,需要另外打开一个java程序,它们的共享机制有么有什么好方法实现??(简单一点说:两个不同的java应用程序访问同一块内存中的数组,有什么方法可以找到这块内存的地址,求实现的机制)紧急!紧急!


建立一个共享文件是一种方法,应该还有别的方法吧


我开始用文本文件存储状态码,作为数据共享层,但是java程序读文本文件(有很多个存储状态的文本文件)CPU的占用率太大,并且速度也很慢。由此我才想把文本文件中的状态码以数组的形式放到内存中,这样开辟一块共享内存让其它的java应用程序也可以取得数据,从速度上来说要比从文本文件读数据快上很多倍。


不知道,帮顶


用Socket通讯


如果两个 Java 程序是分别执行的,那么它们就是运行在两个不同的 JVM 中,此时如果要共享数据,只能通过外部手段(指 JVM 外部,比如文件、socket 通信,这些上面都提到过。另外,如果是 Windows 操作系统,可以通过 JNI 使用 File-Mapping,效率满高的)。但这些方法都比较麻烦。

如果能通过某个 Java 程序把这两个程序加载起来,那它们就是运行在同一个 JVM 里,问题就简单多了。


没有什么好办法,还是用文件转把,用xml


↑返回目录
前一篇: JXTA Platform JAVA参考实现源代码分析系列文章(1)
后一篇: 如何使用jdbtable连接mysql数据库?