在java的应用程序中,如何防止应用程序重复启动。在线等。

解决方案 »

  1.   

    我回答不了你的问题。帮你顶。在同一个JAVA应用程序中,使用Singleton模式可以做到。但是,怎么让同一个JAVA应用程序,不启动2次,我也不清楚了。他们说可以做到。但是,我自己做了测试,就不行了。
      

  2.   

    不过进程检索好像是和系统相关的操作。我见过的一个方法是程序启动时打开一个TCP/IP端口,然后尝试连接,如果连接成果就代表已经有相同程序启动了
      

  3.   

    在java中,大部分都是检测端口的。
    当然也可以如你说的 加文件锁.个人以为,如果都不允许,不知道是什么意思,本质上也是一个独占进程的问题,或者说进程同步的问题。因此,必须要使得当前进程取得一个独占资源(不可共享的资源),这样才是其他进程无法取得。在windows下,可以通过jni来实现,本地运行 ,FindWindow(),还有取得进程ID,等等。
    原理都一样。