5 вопросов по Java - PullRequest
       66

5 вопросов по Java

2 голосов
/ 06 мая 2011

1) Правда ли, что javac.exe - это реализация java-компилятора Sun,

2), а java-компилятор определяется как нечто, преобразующее исходный код java в байт-код java,

3) и JVM определяется как нечто, принимающее байт-код java в качестве входных данных и фактически предписывающее машине что-то делать.

4) и существует много разных типов JVM, фактически разные операционные системы требуют разных JVM,

5) и JVM, работающая в Windows 98, отличается от JVM, работающей в Windows 7?

Ответы [ 4 ]

2 голосов
/ 06 мая 2011
  1. Да .
  2. Да .

И это не позволило бы мне опубликовать более двух ссылок,в любом случае, простой поиск даст гораздо больше информации, чем ожидание ответов здесь.

2 голосов
/ 06 мая 2011

Да.(JVM = виртуальная машина Java)

1 голос
/ 06 мая 2011

1) Верно ли, что javac.exe - это реализация java-компилятора от sun, - это зависит от того, как любая компания / разработчик может распространять Java-компилятор в соответствии со спецификацией JVM.

2) и javaКомпилятор определяется как нечто, что переводит исходный код Java в байт-код Java, - Да, он компилирует исходный код в байт-код

3), а JVM определяется как нечто, принимающее байт-код Java в качестве входных данных, и фактически сообщает машинезаниматься вещами.- Да

4) и существует много разных типов JVM, на самом деле разные операционные системы требуют разных JVM, - правильно, для каждой ОС должна быть своя собственная реализация JVM, вы не можете запустить JVM дляWindows на Linux

5) и JVM, которая работает на Windows 98, отличается от JVM, которая работает на Windows 7?- Да

В дополнение к вашим вопросам 2,3,4,5, компилятор преобразует исходный код в байт-код для реализации JVM, чтобы понять, где бы ни выполнялась эта JVM.

1 голос
/ 06 мая 2011

Полагаю, вы задаете эти вопросы, чтобы помочь вам понять некоторые основные концепции JAVA, поэтому давайте не будем копаться слишком глубоко и рассмотрим здесь множество «исключений».

1) SunРеализация компилятора обычно называется javac.exe, но другие компиляторы могут также называть свои исполняемые файлы javac.exe (я думаю, что c означает компилятор).

2) Это гораздо больше, но в целом этоправильно

3) Это не совсем неправильно.Разные JVM могут иметь разные реализации, но идея JVM состоит в том, чтобы преобразовать (предположительно) универсальный байт-код в машинный / ОС-специфичный код, который может быть выполнен на этом конкретном компьютере.За исключением того, что мы определяем «разные ОС» немного свободно.Некоторые ОС имеют одинаковую архитектуру и могут использовать одну и ту же JVM.Также могут быть разные реализации JVM для одной и той же ОС.

5) Я верю, что это правда.

...