2016-05-13 66 views
0

有一个java swing程序,其中包含许多变量和作用域范围的类和方法来捕获数据以生成xml消息。 我开始的方法,初始化所有的图形用户界面在一个单一的方法,并遇到限制最大方法大小为64K。 后来,我选择了一种方法来初始化面板及其直接的孩子,以克服它。

一些,关于节目的观测,如下:编译和运行java程序需要多少资源?

I)
一个)尺寸:6.67 MB(69,98,520字节)
b)中KLOC:136K(135934线)

II)类范围:
一个)的JPanel:1380
b)中的GridBagConstraints:1380
c)中的JTextArea:355
d)的JTextField:3601
E)JScrollPane中:355
F)JFormattedText:1149
K)的JSpinner:1149
升)INT:1364
米)字符串数组:1364
n)的函数:3550 [1380(GUI initilisors)1791(setter方法)]

III)的方法适用范围:
一个)内的功能:376
b)中的for循环:752
c)如支化:2257
d)尝试...捕获:377
ëINT):376
F)的JLabel:4750
克)的JPanel:4750
1H)JSpinner的:377
ⅰ)字符串:752


IV)
a)任何方法大小超过64KB
b)中变量和方法数之和小于64K
三)Java编译器抛出:
我)“系统资源不足”异常或
II)“太多的常量”异常

在计算从java程序编译和运行所需资源时需要考虑哪些参数?和
需要多少资源来编译和运行这个java程序?

回答

1

该方法的大小是需要的字节码的金额。这可能包括完全合格的类名称,因此它可能有时会大于您的源文件。

最大方法大小是Java运行时的文件格式限制。 据预计,这是“为任何有意义的程序足够大”(不幸的是,有时生成的代码可以是有意义的,但是更大)。

解决的办法是到结构你的程序。使用更多的方法。

0

要了解应用程序在运行时使用了多少资源,在JDK中有一个名为jvisualvm的工具。

它会显示你需要看到的一切。