Le problème, c'est qu'en Java, tout objet hérite de java.lang.Object, qui contient déjà pas mal de bazard : Une info de typage dynamique, des verrous pour les éventuels "synchronized", ...
Résultat, un Integer en Java occupe entre 20 et 30 octets, alors qu'en principe, c'est seulement 4 !
Si tu les passe par valeur, il faut tout recopier à chaque fois, si tu passe par référence, il y a une indirection de plus a chaque accès. Pas trop de compromis possible là dessus.
[^] # Re: IBM demande à Sun de "libérer" Java
Posté par Matthieu Moy (site web personnel) . En réponse à la dépêche IBM demande à Sun de "libérer" Java. Évalué à 3.
Résultat, un Integer en Java occupe entre 20 et 30 octets, alors qu'en principe, c'est seulement 4 !
Si tu les passe par valeur, il faut tout recopier à chaque fois, si tu passe par référence, il y a une indirection de plus a chaque accès. Pas trop de compromis possible là dessus.