Есть ли ограничение на количество строк кода, которые вы можете поместить в Eclipse java doument

У меня есть проект, я работаю и все шло хорошо до сегодняшнего дня. У меня есть около 6000 строк кода в одном документе класса java. Если я попытаюсь поместить еще одно предложение IF в код, программа выдает исключение при вызове класса. Все дополнительные фрагменты, которые я попытался поместить в класс, вызывают сбой класса при вызове. Я попытался добавить тестовый код, который, как я знаю, работает нормально, и все они вызывают диалоговое окно force close alert. Поверь мне, нет ничего неправильно с последним фрагментом, который я пытаюсь поместить в класс. Как только я достану последний фрагмент" if", ошибок не будет. Кто-нибудь видел это раньше? Исключение возникает в эмуляторе, когда вызывается класс. Я получаю окно предупреждения о закрытии силы. Вот размер файла java: 172,503 байта спасибо заранее!

4 ответов


Я столкнулся с этой проблемой некоторое время назад и обнаружил, что нет проблем иметь 50k строк и более кода в одном классе, если предел метода не превышен.

в зависимости от того, что находится в одном методе, который фактически вызывает размер байт-кода, я испытал ограничения между 2-3k строками кода/метода.

добавлено:

кстати, в определенный момент на самом деле Eclipse падает, когда ваш общий код становится слишком большим для компиляции-просто увеличьте Память Eclipse до 1 Гб или около того. Пока этого было достаточно для моих проектов, имеющих в общей сложности около 100 тыс. линий...


вы можете изменить то же самое, используя следующие настройки:

--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m

Я заметил это раньше, Eclipse работает с самой Java, поэтому он очень интенсивный, если у вас слишком много кода, так что ему нужно больше, чем можно выделить, он рухнет.


есть ли ограничение на количество строк кода, которые вы можете поместить в Eclipse java doument.

не точно.

существуют ограничения на количество байт-кодов в скомпилированном методе и другие подобные вещи, но они накладываются форматом Java classfile (т. е. спецификацией JVM), а не Eclipse.

также возможно, что Eclipse нужно больше памяти, хотя я не думаю, что добавление одного if заявление надежно вызвать это. (И если бы это было так, исключение сказало бы вам, что у вас нет памяти ...)