Java Tools Tutorials - Herong's Tutorial Examples - v6.24, by Herong Yang
jshell - What Is It
This section describes what is 'jshell' - a command line tool that allows you to interactively evaluates declarations, statements, and expressions.
What Is "jshell"? - "jshell" is a command line tool that allows you to interactively evaluates declarations, statements, and expressions of the Java programming language in a Read-Eval-Print Loop (REPL).
"jshell" has been included in JDK installation since JDK 9. And it is represented by the %java_home%\bin\jshell.exe program file.
"jshell" provides you an environment where you can use Java as a scripting language. With "jshell", you can:
If you have %java_home%\bin directory included in "path" the environment variable, you can run "jshell --help" to get the usage information:
herong> jshell --help
Usage: jshell <option>... <load-file>...
where possible options include:
--class-path <path> Specify where to find user class files
--module-path <path> Specify where to find application modules
--add-modules <module>(,<module>)*
Specify modules to resolve, or all modules on the
module path if <module> is ALL-MODULE-PATHs
--startup <file> One run replacement for the startup definitions
--no-startup Do not run the startup definitions
--feedback <mode>
Specify the initial feedback mode. The mode may be
predefined (silent, concise, normal, or verbose) or
previously user-defined
-q Quiet feedback. Same as: --feedback concise
-s Really quiet feedback.
-v Verbose feedback. Same as: --feedback verbose
-J<flag> Pass <flag> directly to the runtime system.
Use one -J for each runtime flag or flag argument
-R<flag> Pass <flag> to the remote runtime system.
Use one -R for each remote flag or flag argument
-C<flag> Pass <flag> to the compiler.
Use one -C for each compiler flag or flag argument
--version Print version information and exit
--show-version Print version information and continue
--help Print this synopsis of standard options and exit
--help-extra, -X Print help on non-standard options and exit
A file argument may be a file name, or one of the predefined file names:
DEFAULT, PRINTING, or JAVASE.
A load-file may also be "-" to indicate standard input, without
interactive I/O.
For more information on the evaluation context options (--class-path,
--module-path, and --add-modules) see:
/help context
A path lists the directories and archives to search. For Windows, use a
semicolon (;) to separate items in the path. On other platforms, use a
colon (:) to separate items.
For more information, see "jshell" reference page at https://docs.oracle.com/en/java/javase/17/docs/specs/man/jshell.html.
Table of Contents
javac - The Java Program Compiler
java - The Java Program Launcher
jpackage - Binary Package Builder
javadoc - The Java Document Generator
jdeps - The Java Class Dependency Analyzer
jdeprscan - The Java Deprecated API Scanner
jcmd - The JVM Diagnostic Tool
jconsole - Java Monitoring and Management Console
jstat - JVM Statistics Monitoring Tool
jhsdb - The Java HotSpot Debugger
jvisualvm (Java VisualVM) - JVM Visual Tool
javap - The Java Class File Disassembler
keytool - Public Key Certificate Tool
jshell - Entering Expressions and Statements
"jshell> /save" - Saving Code Snippet
"jshell> /edit" - Editing Code Snippet
jrunscript - Script Code Shell
native2ascii - Native-to-ASCII Encoding Converter