JShell เป็นเครื่องมือเชลล์ Java แบบโต้ตอบที่นำมารวมใน Java 9 ช่วยให้รันโค้ดสนิปเพทและแสดงผลทันทีโดยไม่ต้องประกาศเมธอด main() เหมือน Java ปกติ เป็นเครื่องมือ REPL (Read-Evaluate-Print-Loop) รันจาก command-line สามารถสร้าง ตัวแปร เมธอด คลาส scratch variables external libraries ได้
ตัวอย่าง: สร้างเธรดโดยการ extends Thread
C:\Users\User>jshell
| Welcome to JShell -- Version 9.0.4
| For an introduction type: /help intro
jshell> class ThreadTest extends Thread {
...> public void run() {
...> System.out.println("Thread in run() method");
...> }
...> public static void main(String args[]) {
...> ThreadTest t = new ThreadTest();
...> t.start();
...> }
...> }
| created class ThreadTest
การเรียกใช้งาน
jshell> new ThreadTest().run();
Thread in run() method
หมายเหตุ: ในตัวอย่างนี้เรียก run() โดยตรง จึงทำงานในเธรดหลัก (main thread) หากต้องการรันในเธรดใหม่จริง ให้ใช้ start() แทน:
jshell> new ThreadTest().start();
Thread in run() method
JShell ทำให้การทดลองกับเธรดและการทำงานแบบคอนการ์เรนท์ง่ายขึ้น เพราะไม่ต้องคอมไพล์และรันแยก