如果a,b,c,d都运行在一台计算机上的话,你可以试试使用TCP,或者UDP协议,说白一点就是把A,B,C当作服务器端,D是客户端,把D的服务器地址写成127.0.0.1。不就可以通信了嘛。

解决方案 »

  1.   

    但是那样的话,a, b, c中就都要添加一些服务器端用以通信的代码了。现在的问题是,a, b, c都是已经做好的程序,或者说只提供了class文件,我们不能修改这些程序,我们只能通过修改d来达到目的。
        比如如果a正在运行,启动d时只要告诉它a的运行主类,d是不是能通过一定的手段访问到a的内存或者数据或者方法。
        不知道行不行,好像有点异想天开。请大虾们指教
      

  2.   

    see
    Interprocess communications in Java 
    How can Java processes communicate without RMI? 
    http://www.javaworld.com/javaworld/javaqa/2000-03/03-qa-0324-ipc.html
      

  3.   

    或是用JNI来实现,在windows中就可以很容易的做到了。