java xxx.class startjava xxx.class stop
怎样进行JVM通信,不希望用rmi,socket,web server等 因为不希望用到端口.

解决方案 »

  1.   

    那是一个机器上的两 个  jvm  还是两个机器上的两个jvm?如果是一个机器上的? 那你为什么要运行两个jvm???如果是两个机器上的?那你不用RMI.不用socket怎么找到那个东西呢???
      

  2.   


    当然是一台,一个是启动(start )一个是停止(stop),
      

  3.   

    呵呵,类似tomcat的吧
    用socket的方法最简单
    我所有的项目都是这样实现的,java不像c,可以获取句柄,从而实现关闭运行的程序
      

  4.   

    java xxx.class start
     
    启动后是LINUX上一个后台的服务.
      

  5.   

    启动和停止为什么不放在同一个JVM中呢?
      

  6.   

    我的拙见:
    1、使用Socket对接管道流,这样根据端口号分配不一样,Socket的两端分别在两个JVM中可以实现通信
    2、其中一个JVM使用序列化,将通信数据以txt文本或者xml方式序列化到磁盘,另外一个JVM将磁盘上的数据反序列化回来达到通信目的
      

  7.   

    lz不是跑在同一个JVM里的吗?
    不特殊处理,虚拟机只能跑一个吧喵~``
      

  8.   

    我处理过这个,启动JVM时候保存他进程的PID(用注册表或者文件都行),然后根据这个PID去找JVM,用Runtime.getRuntime().exec("******");执行关闭和启动,要共享数据的话也可以写注册表或者文件,但是要注意同步(可以用文件锁来控制同步)。