Компиляция зависает для класса с полем double d = 2.2250738585072012e-308

Я столкнулся с интересной ситуацией. Сотрудник внес некоторые изменения, которые не могли компилироваться на моей машине ни из IDE (Eclipse), ни из командной строки (Maven). Проблема проявляется в том, что процесс компиляции забирает 100% ЦП, и только его остановка поможет остановить его. После некоторого анализа причина проблемы была обнаружена и устранена. Оказалось, что в одном из интерфейсов это строка "double d = 2.2250738585072012e-308" (без точки с запятой в конце). Следующий фрагмент дублирует это.

public class WeirdCompilationIssue {
   double d = 2.2250738585072012e-308
}

Почему компилятор зависает? Пограничный случай языка?

7
задан RBerteig 4 February 2011 в 09:33
поделиться