Дополнительно
Максимальный размер метод в Java 7 и 8
Я знаю, что метод не может быть больше 64&ампер;усилитель; nbsp;КБ с Java. Ограничение вызывает у нас проблемы с сгенерированный код из JavaCC грамматикой. У нас были проблемы с Java 6 и были в состоянии исправить это путем изменения грамматики. Имеет ограничение на Java 7 или планируется для Java 8?
Просто чтобы было понятно. Я не'т нужна способ больше, чем 64&ампер;усилитель; nbsp;КБ сам. Но я написал грамматику, которая компилируется в очень большой способ.
77
5
По данным JVMS7 :
Но это о
Ява 7
. <удар>нет окончательной спецификации для Java 8, так что никто (кроме разработчиков) мог ответить на этот вопрос.</удара>УПД (2015-04-06) по данным JVM8 это также верно для
Ява 8
.Хороший вопрос. Как всегда, мы должны пойти в источник, чтобы найти ответ (с"Ява® спецификации виртуальной машины на"). В разделе не упоминаются ограничения (как это делали Java6 ВМ спецификаций), хотя, но несколько осмотрительно:
Ура,
Она не изменилась. Ограничение кода в методах-это по-прежнему 64 КБ в Java 7 и Java 8.
Ссылки:
Andremoniy ответил на
Ява 7
частично на этот вопрос уже, но кажется в то время было только решить, оЯва 8
, так что я полный ответ, чтобы покрыть эту часть:Цитата из управляют:
Как вы видите, кажется, что эта историческая проблема не'т, кажется, чтобы исправить по крайней мере в этой версии (в Java 8).
В качестве обходного пути, и if у вас есть доступ к анализатору's код, вы могли бы изменить его, чтобы работать в течение, что 'ограничения, налагаемые компилятор для JVM ... (Если это Ден'т длиться вечно, чтобы найти участки в коде парсера изменить)