请问:用什么方式让一个以*.jar打包或制作成*.exe的java应用程序在内存中只运行一个实例,防止其多个实例在同一个机器上运行?谢谢!

解决方案 »

  1.   

    开启一个端口,第二次执行再开同样的端口,就会抛出一个异常,你只要在截获的异常里面写上System.exit(1);就可以了.
      

  2.   

    请教:
    如何在main()方法中打开一个端口?
    谢谢!
      

  3.   

    Javafan0(狂刀)我用过,呵呵,搞通讯协议时,这是最简单的一种办法,利用try/catch
    但其实可以用单根类实现啊,提醒楼主一下,static的变量是共用一块内存地址的,同时不能对class随意创建对象,利用方法获得,嘿嘿,自己去思考吧,以后记忆就深刻了
      

  4.   

    也是static更方便.staatc变量在JVM中是唯一的.
      

  5.   

    请问可以通过java程序获得该程序的进程名,从而避免多个程序实例的运行吗?