Java应用程序在控制台

时间:2016-12-15 11:08:25

标签: java

我写了一个有几个类的java应用程序。

一个类是使用该方法的线程:

 @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

启动我的程序

1 个答案:

答案 0 :(得分:0)

我可以解决它。 cmd.exe中的ALT +空格...然后设置并停用简易编辑模式!