Может ли совместимая реализация Java не содержать все стандартные библиотеки? - PullRequest
2 голосов
/ 27 марта 2011

Я работаю над написанием реализации JVM на JavaScript, что означает написание lot нативного кода для стандартных библиотек на JavaScript.Однако в стандартной библиотеке имеется огромное количество классов, которые используются только небольшим количеством программ, и попытка получить части, для которых требуется встроенная реализация, реализованная изначально, утомительна и не очень полезна.

Есть ли на самом деле требование, чтобы допустимая реализация Java содержала реализации всех стандартных классов библиотеки?Или я могу просто заставить работать основные библиотеки Java (скажем, java.lang. * И все, на что они ссылаются), а затем заявить, что у меня есть совместимая реализация Java, которая может выдавать VerifyErrors для кода, который ссылается на невыполненные функции?

1 Ответ

4 голосов
/ 27 марта 2011

На самом деле, вам не разрешат утверждать, что у вас есть реализация Java, соответствующая стандарту, пока он не пройдет набор тестов на соответствие - который Oracle не публикует. Так что вы можете забыть об этом.

Таким образом, в основном вы можете поддерживать все, что захотите, имея в виду, что разработчики вряд ли будут использовать то, что имеет произвольные пробелы в функциональности. Возможно, было бы неплохо ограничиться хорошо известным подмножеством стандартного API, например профилем Java ME.

...