Содержание | Предыдущий | Следующий | Индекс Спецификация языка Java
Третий Выпуск


Предисловие к Третьему Выпуску

Этот выпуск Спецификации Языка программирования Java представляет самый большой набор изменений в истории языка. Обобщения, аннотации, утверждают, автоупаковывая и распаковывая, перечислимые типы, циклы foreach, переменные методы арности и статический импорт были все недавно добавлены к языку. Почти утверждает, в новинку для 5.0 выпусков осени 2004.

Этот третий выпуск Спецификации языка Java отражает эти разработки. Это интегрирует все изменения, произведенные в языке программирования Java начиная с публикации второго выпуска в 2000.

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

Читатели могут отправить комментарии к этой спецификации: jls@java.sun.com. Изучить последнее о платформе Java, или загрузить последний выпуск J2SE, посещение http://java.sun.com. Обновленная информация о Ряде Java, включая опечатки для Спецификации языка Java, Третьего Выпуска, и предварительных просмотров предстоящих книг, может быть найдена в http://java.sun.com/Series.

Эта спецификация основывается на усилиях многих людей, и в Sun Microsystems и снаружи.

Самое решающее содействие является содействием людей, которые фактически превращают спецификацию в реальное программное обеспечение. Руководитель среди них является специалистами по обслуживанию javac, ссылочного компилятора для языка программирования Java.

Нил Гэфтер был "Г-ном javac" в течение решающего периода, в который большие изменения, описанные здесь, были интегрированы и productized. Посвящение Нила и производительность могут честно быть описаны как героические. Мы буквально, возможно, не завершили задачу без него. Кроме того, его способность проникновения в суть и навык, сделанный огромным содействием проекту новых функций языка через плату. Никто не заслуживает большего количества кредита на эту версию языка чем он - но любой обвиняет в его недостатках, должен быть направлен на меня непосредственно и элементы многих экспертных групп JSR!

Нил продолжил в поисках новых проблем, и следовался Петером von der Ahé, который продолжает улучшаться и stengthen реализация. Перед участием Нила Билл Мэддокс отвечал за javac, когда предыдущий выпуск был завершен, и он нянчил функции, такие как обобщения и утверждает в течение их первых лет.

Другим человеком, который имеет право быть выбранным, является Джошуа Блох. Джош участвовал в бесконечных обсуждениях проекта языка, возглавил несколько экспертных групп и был ключевым спонсором платформы Java. Справедливости ради стоит отметить, что Джош и Нил заботятся больше об этой книге, чем я делаю самостоятельно!

Много частей спецификации были разработаны различными экспертными группами в платформе процесса сообщества Java.

Самый распространяющийся набор изменений языка является результатом JSR-014: Добавление Обобщений к Языку программирования Java. Элементы экспертной группы JSR-014 были: Норман Коэн, Кристиан Кемпер, Мартин Одерский, Крестен Крэб Торуп, Филип Уодлер и я непосредственно. На ранних стадиях Свен-Эрик Пэниц и Стив Маркс были элементами также. Все заслуживают спасибо за их участие.

JSR-014 представляет беспрецедентное усилие существенно расширить систему типов широко используемого языка программирования под очень строгими требованиями совместимости. Длительный и трудный процесс разработки и реализации, ведомой нас к расширению действующей формулировки. Задолго до того, как JSR для обобщений инициировался, Мартин Одерский и Филип Уодлер создали экспериментальный язык под названием Пицца, чтобы исследовать включенные идеи. В пружине 1998 Дэвид Стутэмайр и я непосредственно начали сотрудничество с Мартина и Фила, основанного на тех идеях, это привело к GJ. Когда экспертная группа JSR-014 была созвана, GJ был выбран в качестве основания для того, чтобы расширить язык программирования Java. Мартин Одерский, реализованный, компилятор GJ, и его реализация стали основанием для javac (запускающийся с JDK 1.3, даже при том, что обобщения были отключены до 1.5).

Теоретическое основание для ядра универсальной системы типов должно большой долг экспертизе Мартина Одерского и Фила Уодлера. Позже, система была расширена с помощью подстановочных знаков. Они были основаны на работе Ацуши Игараши и Мирко Вироли, который непосредственно основывался на более ранней работе Крестеном Торупом и Мэдсом Торджерсеном. Подстановочные знаки были первоначально разработаны и реализованы как часть сотрудничества между университетом Орхуса и Sun. Нил Гэфтер и я непосредственно участвовали от имени Sun, и Эрик Эрнст и Мэдс Торджерсен, вместе с Петером von der Ahé и христианин Плеснер-Хансен, представляли Орхус. Благодаря Ол Лехрманн-Мэдсену для включения и поддержки той работы.

Джо Дарси и Кен Рассел, реализованный большая часть определенной поддержки отражения обобщений. Нил Гэфтер, Джош Блох и Марк Райнхольд сделали огромный объем работы generifying библиотеки JDK.

Поощрительная премия должна пойти к людям чьи комментарии к проекту обобщений, сделанному значительной разницей. Алан Джеффри, сделанный решающими вкладами JSR-14, указывая на тонкие дефекты в исходной системе типов. Боб Дин, предложенный"? супер T" синтаксис для ниже ограниченных подстановочных знаков

JSR-201, включенный серия изменений: автоупаковка, перечисления, циклы foreach, переменные методы арности и статический импорт. Элементы экспертной группы JSR-201 были: Седрик Бе, Дэвид Бисэк, Джошуа Блох (сопредседательствует), Пробковый Каретник, Джим де Ривирес, Дэвид Фланаган, Кристиан Кемпер, Дуг Lea, Чангшин Ли, Тим Пеирлс, Мишель Трюдо и я непосредственно (сопредседательствуют). Перечисления и цикл foreach были прежде всего разработаны Джошем Блохом и Нилом Гэфтером. Переменные методы арности никогда не превращали бы это на язык без специальных усилий Нила, разрабатывая их (чтобы не упомянуть маленький вопрос реализации их).

Джош Блох смело брал себя ответственность за JSR-175, который добавил аннотации к языку. Элементами экспертной группы JSR-175 был Седрик Бе, Джошуа Блох (стул), Тед Фаррелл, Майк Френч, Грегор Кикзэйлс, Дуг Lea, Deeptendu Majunder, Саймон Нэш, Тед Ньюард, Роли Перера, Манфред Шнайдер, Блэйк Стоун и Джош-Стрит. Нил Гэфтер, как обычно, был главным спонсором на этой передней стороне также.

Другое изменение в этом выпуске является полной версией модели памяти Java, предпринятой JSR-133. Элементами экспертной группы JSR-133 был Ганс Боем, Дуг Lea, Тим Линдхольм (сопредседательствуют), Билл Пью (сопредседательствуют), Мартин Троттер и Джерри Шварц. Основными техническими авторами модели памяти является Сэрита Адв, Джереми Мэнсон и Билл Пью. Глава модели памяти Java в этой книге является фактически почти полностью их работой с только редакционными версиями. Джозеф Боубир, Дэвид Холмс, Виктор Лучангко и Ян-Виллем Мэессен, сделанный существенными вкладами также. Ключевые разделы, имеющие дело с завершением в главе 12, должны очень этой работе также, и особенно Дугу Lea.

Много людей обеспечили ценные комментарии к этому выпуску.

Я хотел бы выразить благодарность Арчибальду Путту, который обеспечил способность проникновения в суть и поддержку. Его записи всегда являются вдохновением. Спасибо еще раз Джо Дарси для того, чтобы представить нас, так же как для многих полезных комментариев, и его определенных вкладов по числовым проблемам и проекту шестнадцатеричных литералов.

Много коллег в Sun (прошлое или настоящее) обеспечили полезную обратную связь и обсуждение, и помогли произвести эту работу бесчисленными способами: Эндрю Беннетт, Мартин Бухгольц, Джерри Дрисколл, Роберт Филд, Джонатан Гиббонс, Грэм Гамильтон, Мими Хиллс, Джим Холмланд, Джанет Коениг, Джефф Нортон, Скотт Селигман, Wei Tao и Дэвид Ангэр.

Особая благодарность Лори Толсону, моему менеджеру, для ее поддержки в течение долгого процесса получения этих спецификаций.

Следующие люди все обеспечили много ценных комментариев, которые способствовали этой спецификации: Скотт Аннэниэн, Мартин Брэвенбоер, Брюс Чепмен, Лоуренс Гонсэйльвс, Тим Хэнсон, Дэвид Холмс, Ангелика Лангер, Пэт Лэварр, Филипп Мюле и Кэл Варнсон.

Энн Селлерс, Грег Доенч и Джон Фаллер в Аддисоне-Уэсли были чрезвычайно терпеливы и гарантировали что осуществленная книга, несмотря на многие пропущенные крайние сроки для этого текста.

Как всегда, я благодарю свою жену Веихонг и своего сына Теву для их поддержки и сотрудничества.

Gilad Bracha
Лос Альты, Калифорния

Январь 2005


Содержание | Предыдущий | Следующий | Индекс Спецификация языка Java
Третий Выпуск

Авторское право © 1996-2005 Sun Microsystems, Inc. Все права защищены
Пожалуйста, отправьте любые комментарии или исправления через нашу форму обратной связи



Spec-Zone.ru - all specs in one place



free hit counter