我知道java中方法的最大大小是64k.如果它超过,我们将得到一个编译器警告,如"Code to large to compile".因此,我们可以用这么少的内存来称之为java的缺点.
我们可以增加这个尺寸限制还是真的可以增加?
关于这个方法大小的更多想法?
Pet*_*rey 37
根据我的经验,64KB限制只是生成代码的问题.ESP.在对大型数组进行实体化时(在代码中完成)
在结构良好的代码中,每个方法都是可管理的长度,并且远小于此限制.要加载到数组中的大块数据可以从非Java文件(如文本或二进制文件)中读取.
编辑:
JIT不会编译大于8 K的方法是没有价值的.这意味着代码运行速度较慢并且可能影响GC时间(因为使用非编译esp的方法搜索线程的调用堆栈效率较低)大的)
如果可能,您希望将方法限制为8 K而不是64 K.
如果您的方法超过 50 行(包括内部注释) - 将其拆分。在这种情况下,您将永远不会达到任何限制(即使存在)。
我个人看到了 1000 行长的方法(由自称为程序员的犯罪分子编写的:)),但没有看到这种限制。