一个类是使用该方法的线程:
@Override
public void run() {
Scanner scanner = new Scanner(System.in);
String input = scanner.next();
coins = Double.valueOf(input);
maximumPrice = Double.valueOf(scanner.next());
while (!isInterrupted()) {
input = scanner.nextLine();
if ("stop".equals(input) || "sell".equals(input) || "panic".equals(input)) {
System.out.println("here");
commandRelevant = true;
commandValue = input;
interrupt();
}
if (input.contains("override")) {
commandRelevant = true;
if (input.contains("positive")) {
commandValue = "positive";
} else if (input.contains("negative")) {
commandValue = "negative";
} else if (input.contains("activate")) {
commandValue = "activate";
} else if (input.contains("unpredictable")) {
commandValue = "unpredictable";
} else {
commandValue = "neutral";
}
}
if (input.contains("setPrice")) {
commandRelevant = true;
commandValue = input;
}
}
}
我的整个程序实际上是独立运行到那个类。只有一个类使用getter访问此线程类
public boolean commandRelevant() {
return commandRelevant;
}
我的问题是:
当我在IDE中运行此应用程序时,每个小时都能正常工作。没有输入,什么都不会被阻止。如果我给出一个输入,我的应用程序会做它应该做的事情。
但是,只要我将代码放入jar文件中,就将其上传到服务器,然后运行 java版" 1.8.0_111" Java(TM)SE运行时环境(版本1.8.0_111-b14) Java HotSpot(TM)客户端VM(版本25.111-b14,混合模式)
我的应用程序正在运行,比方说30分钟,然后它突然开始阻止没有任何输入。 当我单击命令行并输入例如一个空格时,我的应用程序突然出现...然后在一秒钟之后再次阻止,直到我再次在命令行中按空格键或其他键。这就像是迷惑。
有人在这里请知道这里可能出现什么问题? 这是VM的问题吗?我只是用java -jar application.jar
启动我的程序答案 0 :(得分:0)
我可以解决它。 cmd.exe中的ALT +空格...然后设置并停用简易编辑模式!