Серия новых функций Java9 (JShell)

Java задняя часть сервер WeChat

题图:by pixel2013 From pixabay

Что такое JShell?

Представляем официальный JDKSummary:

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.

  • JShell — это инструмент Java REPL (цикл чтения-оценки-печати): интерактивный синтаксический анализатор, инструмент командной строки. Это позволяет выполнять операторы Java без использования оболочек классов или методов.

  • Такие языки, как Python и Scala, уже давно имеют интерактивные среды программирования, REPL, для интерактивной оценки операторов и выражений. Разработчикам нужно только ввести некоторый код и получить отзывы о программе перед компиляцией. В предыдущих версиях Java для выполнения кода необходимо было создавать файлы, объявлять классы и предоставлять для этого методы тестирования.

Философия JShell

即写即得,快速运行

Цель JShell

  • В Java9 наконец появился инструмент REPL: jShell. Использование jShell без создания классов В случае прямого объявления переменных, вычисления выражений и выполнения операторов. То есть при разработке Запускайте Java-код прямо в командной строке, не создавая Java-файл, не следуя Люди объясняют ерундой «public static void main(String[] args)».
  • jShell также может загружать операторы из файла или сохранять операторы в файл.
  • jShell также может автоматически дополнять клавишу табуляции и автоматически добавлять точки с запятой.

Пример использования JShell

  • Введите JShell:

    进入shell

  • помощь:

    帮助

  • Основное использование:

    基本使用

  • Java-выражения Терминал JShell также может самостоятельно оценивать выражения Java. Конкатенация строк, обратные вызовы методов, алгоритмы и т. д.

    Java表达式

  • Точки с запятой необязательны для простых операторов:

    分号对于纯语句可选

  • импортировать указанный пакет

    导入指定的包

  • прямая ссылка Вы можете ссылаться на другие методы или переменные при определении метода, и эти методы или переменные будут определены только через определенное время.

  • Код автозаполнения клавиши Tab

    Tab键自动补全代码

  • РЕПЛ Сеть При использовании JShell мы не ограничены машинным и сетевым доступом, что открывает некоторые интересные возможности. Например, подумайте об этом как о терминале для связи с сервером, удаленного подключения к серверу и управления некоторыми параметрами извне. Другой вариант — запросить базу данных, здесь возможности действительно безграничны.

    REPL网络

  • Сохранение и загрузка рабочих областей

    • Список всех допустимых фрагментов кода в текущем сеансе

      代码片段

    • Список всех созданных переменных в текущем сеансе

      创建过的变量

    • Список всех созданных методов в текущем сеансе

      创建过的方法

  • Используйте внешний редактор для написания кода Java

/edit add
  • Загрузить исходный код из внешнего файла
/open xxx.java
  • Нет проверенных исключений/исключений времени компиляции
    没有受检异常

Если вы беспокоитесь о том, что проверенные исключения могут испортить ваш опыт работы с REPL, не беспокойтесь, JShell скроет их для вас в фоновом режиме.

  • выйти из оболочки
/exit
  • JShell API

Помимо того, что это отдельный инструмент JDK, JShell также может предоставлять API, открывающий все функции для внешних вызовов.

  • Изменение определений на лету

Вы можете повторно объявить переменную, метод или класс, не беспокоясь об исходном объявлении. Как только вы это сделаете, вы получите сообщение о том, что произошло, но в остальном все как обычно.

Как насчет этого? Ты взволнован? Попробуйте сейчас~

Публичный аккаунт WeChat:На мечеПожалуйста, обратите внимание на мою личную технологию общедоступного аккаунта WeChat, подпишитесь на дополнительный контент