2012-01-30 4 views
0

Я проходил поток, в котором обсуждалась, является ли Java открытым исходным кодом или нет. Было мало ответов, которые касались реализации Java.Что подразумевается под реализацией Java?

Есть ли спецификация для Java? Может ли кто-нибудь писать там собственную реализацию, если она придерживается спецификации? Где эта спецификация документирована?

Спасибо.

+1

http://java.sun.com/docs/books/jls/ Смотрите эту –

+0

Спасибо Джеймс. Поддерживает ли эта спецификация обновление каждой версии Java? Кому принадлежит эта спецификация и кто подтверждает, соответствует ли реализация java этой спецификации? Использование какого языка программирования является реализацией Java - например, какой язык использовался Sun для написания реализации. Я отправлю новый вопрос, если все это должно стать частью нового вопроса. –

+1

Любой может следить за JLS. Тем не менее, требуется батарея теста (и $$$?), Чтобы утверждать, что она является Java (совместимой). Microsoft не смогла сделать это еще в 90-е годы - тогда они решили не поддерживать Java вообще :-) –

ответ

2

«Java» может ссылаться на платформу Java, которая выполняет байт-код Java и язык Java. Существуют спецификации для обоих. Помимо официальных реализаций от Sun, другие организации создали альтернативные реализации обоих. Для спецификации языка Java см. Книгу «Язык программирования Java» Джеймса Гослинга.

+0

Спасибо Алекс. Существуют ли какие-либо спецификации в значительной степени при использовании, кроме тех, которые предоставляются Sun (или Oracle сейчас)? Почему кто-нибудь, что создать целую реализацию, - не главная работа? –

+0

Несомненно, это огромная работа. Вот почему я сказал, что другие «организации» сделали свои собственные реализации, а не «индивидуумы». Например: у IBM была собственная виртуальная машина Java, называемая «Jikes», - я не знаю, все еще ли она или нет. Я считаю, что Eclipse использует собственный компилятор Java, а не компилятор Sun Java. (Другие, пожалуйста, поправьте меня, если это необходимо.) Что касается * почему * ... ну, я уверен, что у них были разные причины в каждом случае. Вам придется исследовать отдельные случаи. –

+0

Спасибо Алекс, имеет смысл :) –

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