Есть ли ограничение на размер файла Java?

Я занимаюсь разработкой проекта, в котором мне необходимо создать код Java. Я проводил тестирование, когда столкнулся с проблемой ограничения 65535 байт в основном методе. Мой сгенерированный файл выглядел примерно так:

public class foo{
    public static void main(String[] args){
        //
        //7000 lines later
        //
    }
}

Я думал, что я умен, создав файл таким образом:

public class foo{
    public static void bar(){
        //
        //7000 lines later
        //
    }
    public static void main(String[] args){
        bar();
    }
}

Но я обнаружил, что ограничение 65535 байт применяется к каждому методу.

Я хочу знать, решат ли мою проблему "буферизация" инструкций несколькими способами. Есть ли ограничение на размер файла java?

4 ответа

Решение

Файл может иметь любой размер, но метод не может быть скомпилирован с длиной более 65535 байт.

Единственный способ решить это

  • используйте меньшие методы, такой большой метод нечитабелен.
  • если его генерировать код, создайте несколько методов.
  • выводить информацию в виде файла данных или базы данных.

Я полагаю, что ограничение существует, и вы достигли его - как указано здесь.

Также взгляните на это обсуждение.

Это известный запрос об ошибке / функции (официальный трекер ошибок Java).

Тем не менее, вы должны разделить его на разные методы.

Другие вопросы по тегам