Добрый день.
Решил изучить java. Установил NetBeans. Попробавал создавать проекты.
С синтаксисом особых вопросов не возникало, так как похож на другие языки.
Вопрос в главном:
В разных источниках написано про то, что из кода компилируем байт-код, а из него уже двоичный код под определённую платформу.
Для последнего действия нужен интерпритатор.
У меня в NetBeans после компиляции появился файл с типом jar.
Это что? байт-код или исполняемый файл?
Чтобы он запускался на других компьютерах туда нужно ставить интерпритатор? Или нтерпритировать нужно там же где и компилировать?
Обрисуйте схему всех этих манипуляций пожалуйста.
Здравствуйте, Andrejandrej, Вы писали:
A>Добрый день. A>Решил изучить java. Установил NetBeans. Попробавал создавать проекты. A>С синтаксисом особых вопросов не возникало, так как похож на другие языки. A>Вопрос в главном: A>В разных источниках написано про то, что из кода компилируем байт-код, а из него уже двоичный код под определённую платформу. A>Для последнего действия нужен интерпритатор. A>У меня в NetBeans после компиляции появился файл с типом jar. A>Это что? байт-код или исполняемый файл? A>Чтобы он запускался на других компьютерах туда нужно ставить интерпритатор? Или нтерпритировать нужно там же где и компилировать? A>Обрисуйте схему всех этих манипуляций пожалуйста.
Это архив. В котором лежат скомпилированные в байт-код классы твоего приложения.
Для выполнения любой java-программе необходимо наличие JRE (Java Runtime Environment), которая и осуществляет преобразование из байт-кода в выполняемый машинный код. Причем назвать это интерпретацией не совсем верно, так как осуществляется JIT компиляция байт кода в машинный код, который потом и выполняется.
И да, на любом компьютере для выполнения должна стоять jre. Можно установить ее с сайта oracle.com, можно просто таскать вместе с своим приложением.
Здравствуйте, Andrejandrej, Вы писали:
A>В разных источниках написано про то, что из кода компилируем байт-код, а из него уже двоичный код под определённую платформу. A>Для последнего действия нужен интерпритатор.
Да, JVM работает как интерпретатор. Но в процессе работы компилирует байт-код в платформозависимый код. Это называется JIT.
A>У меня в NetBeans после компиляции появился файл с типом jar. A>Это что? байт-код или исполняемый файл?
Это байт-код.
A>Чтобы он запускался на других компьютерах туда нужно ставить интерпритатор?
Туда нужно ставить JVM.
A>Обрисуйте схему всех этих манипуляций пожалуйста.
Поконкретнее вопрос сформулируй.
И, кстати, NetBeans не самая лучшая IDE. Попробуйте ещё Eclipse и IntelliJ IDEA. Они на много интереснее.
Здравствуйте, Andrejandrej, Вы писали:
A>У меня в NetBeans после компиляции появился файл с типом jar. A>Это что? байт-код или исполняемый файл?
Это архив, в котором находятся ваши .class с байткодом (можете разархивировать и посмотреть блокнотом что в .class).
A>Чтобы он запускался на других компьютерах туда нужно ставить интерпритатор? Или нтерпритировать нужно там же где и компилировать? A>Обрисуйте схему всех этих манипуляций пожалуйста.
Должна быть установлена Java-платформа. Без нее работать не будет. Дополнительно компилировать ничего не нужно -- просто запускаете и платформа сама все сделает.
Здравствуйте, DrDred, Вы писали:
DD>Это архив. В котором лежат скомпилированные в байт-код классы твоего приложения. DD>Для выполнения любой java-программе необходимо наличие JRE (Java Runtime Environment), которая и осуществляет преобразование из байт-кода в выполняемый машинный код. Причем назвать это интерпретацией не совсем верно, так как осуществляется JIT компиляция байт кода в машинный код, который потом и выполняется. DD>И да, на любом компьютере для выполнения должна стоять jre. Можно установить ее с сайта oracle.com, можно просто таскать вместе с своим приложением.
Судя по ссылкам на оракле эта программа разная для разных ОС. То есть если таскать с собой, то таскать все те которые могут пригодиться?
Здравствуйте, Andrejandrej, Вы писали:
A>Судя по ссылкам на оракле эта программа разная для разных ОС. То есть если таскать с собой, то таскать все те которые могут пригодиться?
Нет. Просто делаете разные сборки вашего приложения под разные ОС и включаете в каждую из них JVM под соответствующую систему.
Здравствуйте, Blazkowicz, Вы писали:
B>Здравствуйте, Andrejandrej, Вы писали:
A>>Судя по ссылкам на оракле эта программа разная для разных ОС. То есть если таскать с собой, то таскать все те которые могут пригодиться? B>Нет. Просто делаете разные сборки вашего приложения под разные ОС и включаете в каждую из них JVM под соответствующую систему.
Вот тут не совсем понял:
Как делать разные сборки под разные ОС? И как включать в них JVM?
Здравствуйте, Andrejandrej, Вы писали:
A>Как делать разные сборки под разные ОС? И как включать в них JVM?
Используются такие инструменты как Ant и Maven. Приложение это, ведь не только, jar архив. Это ещё куча сторонних библиотек, конфиги, и, для desktop приложение, возможно, JRE. Можно просто JRE в инстраллер включать, как вариант. Всё зависит от приложения.