Java
 Computer >> コンピューター >  >> プログラミング >> Java

Java 9でJShellをデバッグする方法は?


JShell は、コードのスニペットをクラスに配置せずに実行できるようにするREPLツールです。このツールは、宣言を評価する方法を提供します 、ステートメント 、および Javaで、 main()を作成する必要はありません コードの一部をテストする方法。

コマンド"/debug デバッグ情報を表示するために使用できます JShellツールの実装用。 "/ debug"と入力したら コマンドを実行すると、デバッグモードがオンになります 。デバッグモードを有効にして、単純な加算や単純な文字列などを入力すると、次のように出力されます。

例-1

jshell> /debug
| Debugging on

jshell> 5+3
Compiling: 5+3
Kind: EXPRESSION_STATEMENT -- 5 + 3;
compileAndLoad [Unit($1)]
++setCompilationInfo() Snippet:VariableKey($1)#11-5+3
package REPL;
import java.io.*;import java.math.*;import java.net.*;import java.nio.file.*;import java.util.*;
import java.util.concurrent.*;import java.util.function.*;import java.util.prefs.*;
import java.util.regex.*;import java.util.stream.*;class $JShell
$11 {
public static
int $1;
public static Object do_it$() throws Throwable {
return $1 = 5+3;
}
}

-- diags: []
setStatus() Snippet:VariableKey($1)#11-5+3 - status: VALID
compileAndLoad ins = [Unit($1)] -- legit = [Unit($1)]
Compiler generating class REPL.$JShell$11
compileAndLoad [Unit($1)] -- deps: [] success: true
recordCompilation: Snippet:VariableKey($1)#11-5+3 -- status VALID, unresolved []

$1 ==> 8


例-2
jshell> /debug
| Debugging on

jshell> String s = "Adithya"
Compiling: String s = "Adithya";
Kind: VARIABLE -- String s = "Adithya"
compileAndLoad [Unit(s)]
++setCompilationInfo() Snippet:VariableKey(s)#12-String s = "Adithya";
package REPL;
import java.io.*;import java.math.*;import java.net.*;import java.nio.file.*;import java.util.*;
import java.util.concurrent.*;import java.util.function.*;import java.util.prefs.*;
import java.util.regex.*;import java.util.stream.*;import static REPL.$JShell$11.$1;
class $JShell$12 {
public static String s;
public static Object do_it$() throws Throwable {
String s_ =
"Adithya";
return s = s_;
}
}

-- diags: []
setStatus() Snippet:VariableKey(s)#12-String s = "Adithya"; - status: VALID
compileAndLoad ins = [Unit(s)] -- legit = [Unit(s)]
Compiler generating class REPL.$JShell$12
compileAndLoad [Unit(s)] -- deps: [] success: true
recordCompilation: Snippet:VariableKey(s)#12-String s = "Adithya"; -- status VALID, unresolved []
s ==> "Adithya"


「オフ」にする場合 デバッグモードを選択してから、もう一度 "/ debug"と入力します。 同じセッションのコマンド。

jshell> /debug
| Debugging off

  1. Java 9のJShellでシステムプロパティを取得するにはどうすればよいですか?

    JShell はREPL(Read-Evaluate-Print-Loop) 単純なステートメントを実行して評価し、main()メソッドなしで結果を表示するために使用されるツール。 「jshell」と入力するだけで開始できます 「コマンドラインプロンプトで。 System.getProperty()を使用してシステムプロパティを取得する必要があります およびSystem.getProperties() メソッド。 以下のコードスニペットでは、静的を使用して、JShellツールでシステムプロパティを表示できます。 メソッドproperty() システムの クラス。 スニペット-1 jsh

  2. Java 9でJavaFXを使用してJShellを実装するにはどうすればよいですか?

    JShell サンプル式を実装するために使用されるインタラクティブなツールです。 JavaFXを使用してプログラムでJShellを実装できます アプリケーションの場合、以下にリストされているJavaプログラムにいくつかのパッケージをインポートする必要があります import jdk.jshell.JShell; import jdk.jshell.SnippetEvent; import jdk.jshell.VarSnippet; 以下の例では、サンプルのJavaFXアプリケーションを実装しました。 テキストフィールドにさまざまな値を入力します 「評価」を押します 「」ボタン。対応する