JShell

JShell is a Java read-eval-print loop which was first introduced in the JDK 9.[1] It is tracked by JEP 222 jshell: The Java Shell (Read-Eval-Print Loop).[2] One reason why JShell was proposed for Java 9 is the lack of a standard interactive environment for the language; the de facto library to use a Java REPL was often BeanShell, which has been dormant since 2003, and arbitrarily diverged from the Java language.[3][4]

Example

jshell> int a[] = { 0, 1, 3, 5, 8 }
a ==> int[5] { 0, 1, 3, 5, 8 }

jshell> int fact(int n) {
   ...>     return n < 2 ? 1 : n * fact(n - 1);
   ...> }
|  created method fact(int)

jshell> for (int i = 0; i < a.length; ++i)
   ...>     a[i] = fact(a[i]);

jshell> a
a ==> int[5] { 1, 1, 6, 120, 40320 }

See also

References

  1. ^ "Oracle Announces Java SE 9 and Java EE 8". Oracle Corporation. 2017-09-21. Archived from the original on 2017-09-22. Retrieved 2017-09-25.
  2. ^ "JEP 222: jshell: The Java Shell (Read-Eval-Print Loop)". Oracle Corporation. 2016-10-10. Retrieved 2016-11-01. Provide an interactive tool to evaluate declarations, statements, and expressions of the Java programming language, together with an API so that other applications can leverage this functionality
  3. ^ "JEP 222: jshell: The Java Shell (Read-Eval-Print Loop)". Oracle Corporation. 2016-10-10. Retrieved 2016-11-01. Another alternative is to maintain the status quo: Use another language or use a third-party REPL such as BeanShell, though that particular REPL has been dormant for many years, is based on JDK 1.3, and makes arbitrary changes to the language.
  4. ^ "JShell, the Java 9 REPL – What does it do?". jaxenter.com. 2015-09-03. Archived from the original on 2015-09-05. Retrieved 2016-11-01. BeanShell (just like Groovy, too by the way) made an attempt of standardisation by the Java Community Process in JSR 274 – a JSR that did not produce any notable output, in spite of the fact that (or perhaps because?) two major companies, Sun and Google, had joined the expert group. Under the JCP.next initiative this JSR was declared "Dormant".

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.