相关疑难解决方法(0)

如何允许一次只运行一个Java程序实例?

我需要阻止用户多次启动我的Java应用程序(WebStart Swing应用程序).因此,如果应用程序已在运行,则无法再次启动它或显示警告/再次关闭.

有没有一些方便的方法来实现这一目标?我想过阻塞一个端口或写一个文件.但希望您可以访问某些系统属性或JVM?

顺便说一句.目标平台是带有Java 1.5的Windows XP

java jnlp java-web-start

27
推荐指数
2
解决办法
2万
查看次数

Windows 7是否回收进程ID(PID)号?

我有这个小测试程序跟踪PID的创建和关闭.我正在调查我的程序已找到的问题,并想问你这个问题,以便更好地了解正在发生的事情.

当一个Windows进程启动时,它会获得一个PID,但是当进程关闭时,PID是否会退役(就像一个明星篮球运动员的球衣号码),或者是否有可能在该发布的情况下创建一个新的,完全不相关的进程PID?

谢谢

windows pid process recycle

14
推荐指数
3
解决办法
7690
查看次数

Eclipse只能打开一个JFrame吗?

当第二次运行项目时,可以在之前JFrame关闭之前打开新的项目吗?

所以我不需要JFrame在第二次尝试运行项目时关闭它.

在此输入图像描述

是否可以只打开一个JFrame?

java eclipse jframe

11
推荐指数
1
解决办法
286
查看次数

如何确保只运行Java应用程序的单个实例?

我希望我的应用程序检查其自身的另一个版本是否已经运行.

例如,已demo.jar启动,用户单击以再次运行它,但第二个实例意识到"哦等待,已经有demo.jar运行".然后退出并留言.

java mutex

9
推荐指数
3
解决办法
1万
查看次数

在java中限制应用程序的多个实例

我想阻止在java中启动多个应用程序实例.我知道2种方法:

  1. 锁定文件
  2. 锁定插座

但哪一种更有效,更好用?我应该使用哪一个?

任何其他做同样的解决方案也是受欢迎的.

java swing multiple-instances single-instance

6
推荐指数
1
解决办法
4220
查看次数

使用 JAVA 中的 PID 验证进程是否正在运行

我目前正在用 JAVA 构建一个应用程序,其中只能执行一次。所以我目前正在使用一个锁定文件,我在其中写入当前执行的 PID。

因此,每当此应用程序启动时,它都会打开文件(如果存在)并尝试检测写入文件的 PID 是否实际正在运行。

这可以防止我的应用程序在解锁文件之前崩溃的问题。

我需要它在 Windows(XP、7 或 8)和 linux(所有用户都在基于 debian 的发行版上)上工作。

这是一些代码,可以让您更好地了解我想要做的事情:

//get the PID from the file
int pidValue = new FileReader(file).read();

//get the OS type
String os = System.getProperty("os.name").toLowerCase();

//Check PID depending of OS type
if( os.contains("nux") || os.contains("nix") ){
/*
 * Check PID on Linux/Unix
*/
} else if ( os.contains("win") ) {
/*
 * Check PID on Windows
 */
}
Run Code Online (Sandbox Code Playgroud)

我试图找到关于这个主题的文档,但我还没有找到任何有用的东西。

非常感谢。

java linux windows

6
推荐指数
1
解决办法
8613
查看次数

JavaFX单实例应用程序

当用户"关闭"程序时单击所有退出按钮,以便不再有托盘图标时,尝试这样做.

我调用了Platform.setImplicitExit(false); 所以程序仍然在后台运行.

我试图学习如何使用它,当用户重新单击运行jar的.exe文件时,而不是运行新程序,它重新显示在后台运行的程序.

 Platform.setImplicitExit(false);
Run Code Online (Sandbox Code Playgroud)

java platform exe javafx stage

5
推荐指数
1
解决办法
2125
查看次数

我可以将main()方法声明为synchronized,以避免.jar文件(仅由main()组成)同时执行两次吗?

我有以下关于声明方法同步的dount .

所以阅读这个讨论: 声明主方法同步

我可以读到:

同步可防止多个实例同时执行,这可能是合乎需要的.

那究竟是什么意思呢?

我试着做一个例子:

我有一个非常小的批处理应用程序,可以在数据库上执行一些操作.该应用程序主要由main()方法组成.我编译了一个可以执行的.jar文件.

这意味着将此main()方法声明为同步我不能同时运行此jar文件的2个实例?或者我错过了什么?

java multithreading java-threads

3
推荐指数
1
解决办法
116
查看次数