Java'da bir yöntemin sahip olabileceği maksimum parametre sayısı nedir ve neden?
64 bit Windows sisteminde Java 1.8 kullanıyorum.
Bu konuda StackOverflow'daki tüm cevaplar, teknik sınırın nedenini belirtmeden 255 parametre olduğunu söylüyor.
Kesin olmak gerekirse, statik için 255 ve statik olmayan için 254 ( thisbu durumda 255.) Olacaktır.
Bunun bir tür spesifikasyonda tanımlanabileceğini ve sadece statik olarak tanımlanmış maksimum parametre sayısına izin verildiğini düşündüm.
Ancak bu yalnızca int4 baytlık türlerin tümü için geçerlidir . longParametrelerle bazı testler yaptım ve bu durumda sadece 127 parametre bildirebildim.
İle Stringparametreler test çıkarılabilir izin numarayı (referans boyutu Java 4 bayt olmasından kaynaklanabilir?) 255'tir.
Ancak 64 bit sistem kullandığım için, referans boyutu 8 bayt genişliğinde olmalı ve bu nedenle Stringparametrelerle izin verilen maksimum sayı 127, longtürlere benzer olmalıdır .
Bu sınır tam olarak nasıl uygulanır?
Sınırın yöntemin yığın boyutu ile bir ilgisi var mı ?
Not: Bu parametrelerin hiçbirini gerçekten herhangi bir yöntemde kullanmayacağım, ancak bu soru sadece tam davranışı netleştirmek içindir.
<= 4. Daha fazla bir şey muhtemelen bir nesneye sarılmalıdır.