互斥体 
Mutex~不过要调用JNI了

解决方案 »

  1.   

    你可以看看《Swing Hacks》Hack 84:Construct Single-Launch Applications
      

  2.   

    楼主的方法不失为一个好的解决方案。如果将这个问题视为进程间同步问题,也可以采用信号量的方法来实现。将同步信号存放于文件中。
    由于我的应用运行于UNIX环境,因此判断应用是否已经启动的操作,我是放在Shell脚本里的(通过检测端口使用情况),但发现应用已起后的策略和楼主不同。我是把已起的所有应用都杀掉,然后再继续运行当前进程。这样便于应用发布,否则必须都先杀掉应用再运行启动脚本。