Błąd JVM Java „zbyt wiele stałych”

Tworzę aplikację, która generuje i kompiluje klasy w czasie wykonywania. To czasami tworzy ogromne ilości wygenerowanego kodu.

W jednym z naszych przypadków testowych otrzymuję błąd z maszyny JVM:

TestClass.java:83865: too many constants

Tylko to. Widziałem inne raporty o podobnym błędzie, ale w tych przypadkach komunikat o błędzie narzeka na pulę stałą. Ale w tym przypadku tak nie jest.

Jeśli to oznacza, że ​​osiągnięto limit puli stałej JVM, co to oznacza? Mam na myśli, jakie stałe są te w odniesieniu do kodu Java? Metody klasowe? Pola? Literały? Nie mam żadnych statycznych ani końcowych metod ani pól.

Czy możesz dać mi kilka wskazówek?

EDYTOWAĆ:

Podział kodu na wiele klas jest już w harmonogramie. Chociaż nie z tego powodu.

Zdaję sobie sprawę z ograniczeń stałej puli, moje wątpliwości były dokładnie w to, co wchodzi w grę. Wygenerowany kod nie ma więcej niż około 10000 metod + pól.

Moje wątpliwości dotyczą tego, czy literały również trafiają do puli stałej, czy nie, ponieważ jest to jedyny powód, dla którego podnoszę tę liczbę do 65 KB. Tak wydaje się.

questionAnswers(4)

yourAnswerToTheQuestion