Почему разработчики не должны писать программы, которые требуют КПО ВС

Классы, которые входят ВС с Java 2 SDK, Standard Edition, делятся на группы пакетов Java .*, javax .*, ORG .* и ВС .*. Все они, кроме вс .* пакет является составной частью платформы Java и будет поддерживаться в будущем. В общем, пакеты, такие как ВС .*, которые находятся за пределами платформы Java, могут быть разными на разных платформах ОС (Solaris, Windows, Linux, Macintosh и т.д.) и может измениться в любой момент без предварительного уведомления с версии SDK (1.2, 1.2.1, 1.2.3, и т.д.). Программ, которые содержат прямые призывы к солнцу .* пакеты не являются 100% Pure Java. Иными словами:

  • The java.*, javax.* and org.* packages documented in the Java 2 Platform Standard Edition API Specification make up the official, supported, public interface. If a Java program directly calls only API in these packages, it will operate on all Java-compatible platforms, regardless of the underlying OS platform.
  • The sun.* packages are not part of the supported, public interface. A Java program that directly calls into sun.* packages is not guaranteed to work on all Java-compatible platforms. In fact, such a program is not guaranteed to work even in future versions on the same platform.

По этим причинам, никакой документации для ВС .* классах. Платформа независимость является одним из больших преимуществ разработки на языке программирования Java. Кроме того, ВС и наших лицензий на технологию Java намерены поддерживать обратную совместимость этих интерфейсов для будущих версиях платформы Java. (За исключением кода, который опирается на серьезные ошибки, которые мы потом исправить.) Это означает, что как только будет написана Ваша программа, файлы классов будут работать в будущих версиях.

Каждая компания, которая реализует платформу Java, сделают это в своей собственной частной основе. Классы в ВС .* присутствуют в SDK для поддержки осуществления ВС платформы Java: Вс .* классах то, что делает платформу Java классы работу

Технически ничто не мешает вашей программы от вызова в ВС .* по имени. От одного релиза к другому, эти классы могут быть удалены, или они могут быть перемещены с одного пакета на другой, и это довольно вероятно, что их интерфейс (метод имена и подписи), будет меняться. (С точки зрения ВС, так как мы намерены поддерживать платформу Java, мы должны быть способны изменить ВС .* для совершенствования и укрепления платформы.) В этом случае, даже если вы готовы работать только на Вс осуществления, вы рискуете новой версии осуществления ломать программу.

В общем, писать программы Java, которые полагаются на солнце .* рискованно:
они не переносимы, и они не поддерживаются.

Источник:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>