2012-04-27 91 views

回答

9

不,規範中沒有限制。

在這裏看到:http://docs.oracle.com/javase/specs/jls/se7/jls7.pdf

您一般的Java文件遇到的唯一障礙是像Max OS範圍限制。某些文件系統上的文件大小或 - 在硬核情況下 - 磁盤大小。一些系統可能在編譯或運行一個100GB的.java/.class文件的問題...

請你做。只是這可能是糟糕的設計。保持它低於10是一個很好的經驗法則,我會說。

編輯:看來畢竟有一個限制。至少在運行時方法的註釋。

請注意,最多可以將65535個運行時可見Java編程語言 註釋直接附加到程序元素。

不知道這算個領域了。

所以,我想答案取決於你想添加的註釋類型。

儘管如此,語言規範沒有什麼。我猜他們並不認爲有人會嘗試。

0

我懷疑的限制比你有註釋的numebr較高(你只能將它們添加一次)或將可能要加。

如果你每天想添加更多的數據,你可以珍惜註釋數組作爲註解的值,但其中含有豐富的字符串的信息是例如添加更多的信息的常用方法JSon格式。

4

那麼這裏距離class file format specification的限制。

4.7.18。 RuntimeVisibleParameterAnnotations屬性

RuntimeVisibleParameterAnnotations屬性是method_info(§4.6)結構的屬性表中的可變長度屬性。 RuntimeVisibleParameterAnnotations屬性在相應方法的參數上記錄運行時可見的Java編程語言註釋。

請注意,最大值爲運行時可見的Java編程語言註釋可以直接附加到程序元素。

編輯

鏈路以上還提到類,方法和元件RuntimeVisibleAnnotations和RuntimeInvisibleAnnotations - 在每個限制再次是65535,65535也是最大值,該結構可以包含(無符號的16位整數),你很可能會在碰到那個數字之前就遇到其他限制。

+0

感謝您的澄清 – user3001 2012-04-29 10:55:41

相關問題