В 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 все еще не достижима? (