2015-02-12 2 views
2

Хм, поэтому я создал Scala, чтобы начать изучать его. Когда я компилирую сценарий .scala, хотя (т. Е. «Scala whatever.scala» в терминале), java.exe обращается к Интернету?Scala - java.exe доступ к интернету?

Почему? Это намеренное поведение или я забыл что-то настроить?

Сценарий я бегу был довольно прост, если это должно иметь значение:

args.forall(println) 
+0

Вы уверены, что это доступ к Интернету, а не, например, используя локальный сетевой сокет для связи между одной частью себя и другой? – lmm

+0

Что вы подразумеваете под «доступом в Интернет»? Что именно * он делает? Открытие сокета? Загрузка файла? Отправка электронной почты? Как вы определили, что он *, фактически, имеет доступ к «Интернету», а не просто использует интернет-протокол для общения с каким-либо другим компонентом на вашем ПК? Используете ли вы 'fsc', компилятор Fast Scala, который остается в памяти и получает свои команды через локальный сетевой сокет? Обратите внимание, что бегун скрипта 'scala' по умолчанию использует' fsc'. –

ответ

5

Мне кажется, что Scala компиляция происходит внутри Java JVM. Поэтому, когда вы компилируете Scala, выполняется java-команда.

Java JRE имеет механизм для обновления самого себя. Когда новая версия отключена, она запрашивает пользователей (по крайней мере, на окнах?), Если они хотят установить новую версию.

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


Edit (?): Вполне возможно, что это происходит потому, что в некоторых случаях вы используете «скомпилировать сервер «для Скалы. Это означает, что дополнительный JVM создается только для компиляции и сохраняется после вашей первоначальной компиляции. Затем следующая компиляция будет быстрее, потому что сервер компиляции уже запущен и все классы будут загружены.

Возможно, что JVM-клиент связывается с JVM-сервером компиляции с использованием сетевого протокола.

Проверить некоторые ссылки:

+0

Не думайте так. Если бы это было так, разве брандмауэр не протестовал давно, когда я исполнял «java ...», чего не было? Есть ли способ проверить это? – User1291

+0

@ User1291 Возможно, это из-за сервера компиляции. Это по умолчанию в Intellij, я думаю. Проверьте мое редактирование –

Смежные вопросы