По правде говоря я вполне смущен на всех этих условиях (JDK/JRE/Java SDK). Я не уверен, что каждый делает.
То, когда я сначала начал делать простые примеры Java в затмении, я вполне уверен, у меня только был JRE, которому я верил, было использованием обычных пользователей установщика Java по умолчанию, чтобы быть в состоянии выполнить программы/апплеты Java в их системе.
Однако теперь в классе мы используем Google Appengine, и это требует JDK, который я предполагаю, совпадает с SDK Java. После траты некоторого времени, узнавая, что установка JDK означала, я также должен был добавить Java/мусорное ведро к переменным среды, чтобы заставить javac - версия работать в командной строке, я нахожу, что только JDK имеет javac...
Как мои ранние программы Java работали не установив JDK и поэтому имели javac? И действительно основной вопрос... Каково различие между JRE и JDK, и когда Вы используете каждого?
Спасибо:)
JRE = Java Runtime Environment - то, что необходимо для запуска программ/программного обеспечения, требующих Java или использующих библиотеки, написанные на Java. Например, OpenOffice требует Java Runtime Environment
JDK/Java SDK = Java Development Kit/Java Программного обеспечения Development Kit - то, что необходимо для написания программ, требующих Java или использующих библиотеки, написанные на Java. Например, если необходимо написать собственный текстовый инструмент на Java.
java
поставляется с JRE, поскольку она запускает виртуальную машину. Это могут быть файлы класса
, которые являются файлами, скомпилированными с помощью JDK.
JDK поставляется с javac
, потому что именно это необходимо для компиляции файлов .java
в файлы .class
, которые затем могут выполняться в JRE.
Если вы заинтересованы в использовании этой информации для профилирования вашего приложения, вы можете использовать dtrace на OSX:
http://www.mactech.com/articles/mactech/Vol.23/23.11/ExploringLeopardwithDTrace/index.html
-121--4716297- Eclipse имеет собственный встроенный компилятор (называемый ecj
), что, вероятно, является причиной, по которой вы могли бы избежать отсутствия J Он не использует javac
.
Google App Engine использует javac
, поставляемый вместе с JDK.
«Иногда можно развиваться с помощью jre»
Нет. Никогда.
Вы разрабатываете с помощью Java Development Kit. Вы работаете с Java Runtime Environment или Engine или как там он называется.
Невозможно использовать JRE для компиляции программ Java. javac, компилятор Java, поставляется только с JDK.
JRE = Java Runtime Environment - то, что вам нужно для запуска программ/софта, которые требуют Java или используют библиотеки, написанные на Java. Например, для OpenOffice требуется Java Runtime Environment
JDK/Java SDK = Java Development Kit/Java Software Development Kit - то, что вам нужно для написания программ, которые требуют Java или используют библиотеки, написанные на Java. Например, если вы хотите написать свой собственный текстовый процессор на Java.
java
поставляется вместе с JRE, потому что он запускает виртуальную машину (VM). Она может принимать файлы классов
, которые являются файлами, скомпилированными с помощью JDK.
JDK поставляется с javac
, потому что это то, что вам нужно для компиляции файлов .java
в .class
, которые затем могут работать на JRE.
В чем разница между JRE и JDK и когда вы используете каждый из них?
JRE: Java Runtime Environment. Она используется только для запуска Java-программ. Как Chris Jester -Young упоминал, в Eclipse был встроенный компилятор. Вот почему вам нужен только JRE (для запуска eclipse)
Если вы поставляете Java-программу, единственное, что должно быть у клиента - это среда выполнения
JDK: Java Develpment Kit, это также включает JRE внутри, но дополнительно имеет другие инструменты для разработки программ, такие как java компилятор javac среди многих других.
Если вы хотите создать java-программу, вам следует воспользоваться этим.