JShell একটি REPL টুল যা কোডের স্নিপেটগুলিকে ক্লাসে না রেখে চালানোর অনুমতি দেয়। এই টুলটি ঘোষণাগুলি মূল্যায়ন করার একটি উপায় প্রদান করে , বিবৃতি , এবং অভিব্যক্তি জাভাতে এবং 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