Итак, я наткнулся на это и мне стало скучно, поэтому я решил попробовать. (Запуск Java 1.6.0_26 на четырехъядерном MacPro 1,1)
Оказывается, Eclipse, по крайней мере, признал предел, заявив, что в методе не может быть более 65 535 байт. Однако по какой-то причине это относится только к методу main и к методам конструктора, а НЕ к обычным методам класса. Когда основные методы и методы конструктора были меньше 65 КБ, код запускался без проблем. У Eclipse были некоторые проблемы с такими большими методами (100% ЦП в течение нескольких секунд, и призрачные иконки ошибок останутся в редакторе), но на самом деле код работал нормально.
Я добавил 5 дополнительных методов, каждый из которых имел по крайней мере 100 КБ кода (в основном это gibberish System.out.println ("бла"), и сами методы использовали несколько параметров и вернули значение. Таким образом, они были настолько "нормальными", насколько я мог сделать их. Я пробовал запускать их несколько раз, и они всегда работали идеально.
Итак, кажется, что существует ограничение в 65 КБ, но оно определенно не относится к абсолютному размеру класса, и, по-видимому, оно применимо только к «специальным» методам, таким как методы main или constructor.
Однако, по крайней мере, в моем случае, большая проблема заключалась в том, что Eclipse просто не мог обрабатывать файлы такого типа. Процессор начинает работать на 100%, и вся среда IDE иногда зависает. Большую часть времени казалось, что Eclipse просто пересчитывает подсветку синтаксиса (!). По крайней мере, в то время остальная часть системы реагировала, что, скорее всего, говорит об OS X больше, чем о Java.
Конечно, почему бы вам вообще не приблизиться к этим пределам, мне не под силу. Разум и здравый смысл, если не принципы ОО, должны были позаботиться об этом задолго до того, как он приблизился к 65К. Но это был хороший эксперимент, и я кое-чему научился!
Просто для справки, вот что я тестировал:
~> java -version
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03-383-11A511)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-383, mixed mode)