相关疑难解决方法(0)

Java方法声明中的最大参数数

Java中的方法可以拥有的最大参数数量是什么?为什么?

我在64位Windows系统上使用Java 1.8.

StackOverflow关于此的所有答案都说技术限制是255个参数而没有指定原因.

确切地说,255表示静态,254表示非静态(this在这种情况下将是255)方法.

我认为这可以在某种规范中描述,并且只允许静态定义的最大参数数量.

但这仅适用于int所有4字节类型.我用long参数做了一些测试,在这种情况下我只能声明127个参数.

使用String参数,从测试中推导出的允许数量是255(这可能是因为Java中的引用大小是4个字节?).

但由于我使用的是64位系统,因此引用大小应为8字节宽,因此对于String参数,允许的最大数量应为127,类似于long类型.

这个限制是如何应用的?

限制是否与方法的堆栈大小有关?

注意:我并不是真的会在任何方法中使用这些参数,但这个问题只是为了澄清确切的行为.

java jvm

130
推荐指数
3
解决办法
3万
查看次数

标签 统计

java ×1

jvm ×1