2016-08-18 1 views
0

Мне нужно несколько раз скомпилировать и выполнить код пользователя (бизнес-логика). Просто для Hello world пример компиляции и выполнения этого кода занимает 2-3 секунды. Есть ли способ сделать компиляцию и запуск java-кода быстрее? Как вы можете видеть, это всего лишь Hello world.Оптимизация JVM на Ubuntu 14.04 Docker

Что касается кода, который будет скомпилирован, он будет очень коротким (максимальное количество строк не должно превышать 200 и в пределах одного файла (с 1-2 частными классами). Мне нужно вернуть вывод и ошибку пользователь, если это произойдет, и все. Я использую Java на Ubuntu 14.04 в контейнерах Docker. Кроме того, все это для тестирования навыков программирования. Графический интерфейс не является вариантом, приложения командной строки.

Я заинтересован в сокращая время, необходимое JVM для компиляции и выполнения этого кода. Как я могу это сделать?

+0

Да. Там есть. Этот вопрос не имеет достаточной специфики для предоставления конкретного ответа. –

+0

@BoristheSpider Вы правы, я вижу. Просто редактирование. – Aleksandar

+0

Например, компиляция и запуск [изнутри Live JVM] (http://stackoverflow.com/a/2946402/2071828) позволит удалить большую стоимость JVM, а также позволить JIT поддерживать оптимизацию. Если это не вариант, то экспериментальный [компилировать сервер] (https://stackoverflow.com/questions/26424759/what-is-sjavac-who-is-it-for-and-how-do-use -it) поможет как минимум сократить затраты на компиляцию. –

ответ

0

Предполагая, что код, который вы пытаетесь выполнить, достаточно прост, чтобы REPL выполнял, java 9 включает в себя один, JShell. ее просто вводят трубку или используют ее API (jdk.jshell).

+0

Подумайте, как мой код как (например,) сортирует пузырь или аналогичные коды (пусть это будет 2-3x пузырьковая сортировка). Это просто? Другое дело, мне нужно, чтобы мой код исполнялся на * моем * сервере. – Aleksandar

+0

Почему бы вам не попробовать? – the8472