2016-05-13 64 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的工具。

它會顯示你需要看到的一切。