Ускорьте выполнение Java 11 однофайловых «скриптов» - PullRequest
0 голосов
/ 21 июня 2019

В Java 11 вы можете запустить один файл класса с основным классом, подобным скрипту.

Например, возьмите файл с именем n:

#!java --source 11

public class n {

    public static void main(String[] args) { 
        System.out.println("test");
    }

}

Теперь мы можем вызвать его из командной строки с помощью ./n (при условии, что он исполняется после chmod +x).

Проблема в том, что даже этот единственный оператор печати занимает значительное время для выполнения. В среднем, согласно time, для запуска требуется примерно ~ 1,2 секунды.

Есть ли способ ускорить это? Я предполагаю, что это компиляция - есть ли способ кэшировать скомпилированный класс и перекомпилировать только при изменении файла, или что-то в этом роде? Или моя мечта о написании простых, быстрых, повторно запускаемых сценариев на Java все еще не достижима? (

...