2016-05-13 2 views
0

Существует программа java swing со многими переменными и функциями класса и метода области видимости для сбора данных для генерации XML-сообщения. Я начал с подхода, инициализируя все GUI в одном методе и столкнувшись с ограничением максимального размера метода 64k. Позже я выбрал подход к инициализации панели и ее непосредственных детей в методе ее преодоления.

Некоторые, Наблюдения о программе следующим образом:Сколько ресурсов требуется для компиляции и запуска java-программы?

I)
а) Размер: 6.67 MB (69,98,520 байтов)
б) KLOC: 136k (135934 линии)

II) Класс Область применения:
а) JPanel: 1380
б) GridBagConstraints: 1380
с) JTextArea: 355
д) JTextField: 3601
е) JScrollPane: 355
е) JFormattedText:
одна тысяча сто сорок девять к) JSpinner:
одна тысяча сто сорок девять л) INT: 1364
м) строковые массивы: 1364
п) Функции: 3550 [1380 (GUI initilisors) +1791 (Сеттеры)]

III) Способ применения:
а) внутренние функции: 376
б) для петель: 752
) если ветвление: 2257
d) Try ... Catch: 377
е) INT: 376
е) JLabel: 4750
г) JPanel: 4750
ч) JSpinner: 377
я) Строка: 752
и

IV)
а) ни один метод не превышает размера 64kb
б) сумма числа переменных и методов меньше, чем 64k
с) Java-компилятор бросает:
я) «система из ресурсов» исключение или
II) «слишком много констант» исключение

Какие параметры принимаются во внимание при расчете необходимых ресурсов для компиляции и запуска из java-программы? и
Сколько ресурсов требуется для компиляции и запуска указанной Java-программы?

ответ

1

Размер метода - Байт-код. Это может включать полностью квалифицированные имена классов, поэтому иногда может быть больше вашего источника.

Максимальный размер метода ограничение формата файла времени выполнения Java. Ожидалось, что это «достаточно большое для любой значащей программы» (к сожалению, иногда сгенерированный код может быть значимым, но большим).

Решение Структура вашей программы. Используйте больше методов.

0

Чтобы узнать, сколько ресурсов используется приложением во время работы, в вашем JDK есть инструмент jvisualvm.

Он покажет практически все, что вам нужно, чтобы увидеть.

Смежные вопросы