Bonjour,
Est ce que quelqu'un connaitrait la taille des adresses utilisés par les pointeurs Java? J'imagine que ça peut se trouver mais pas beaucoup de monde en parle...
D'avance merci
Bonjour,
Est ce que quelqu'un connaitrait la taille des adresses utilisés par les pointeurs Java? J'imagine que ça peut se trouver mais pas beaucoup de monde en parle...
D'avance merci
ça doit normallement faire 4 octets sur un système 32bits
![]()
Donc contrairement aux autre types de variables "vues par le programmeur" celle ci depend de ton materiel? Oui, je ne vois pas l'interet d'emuler des adresses d'une taille fixe mais on sait jamais...
oui, je crois
d'ailleurs, avec
tu dois recevoir quelque chose qui ressemble
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 System.out.println(new Object());
...soit 7-8 digits hexadécimaux --> 32 bitsjava.lang.Object@114f313
il faudrait tester sur un système 64 bits pour être sûr, mais je ne sais même pas si il existe déjà une JVM 64
![]()
Salut,
Attention toutefois : le toString() de object renvoit quelque chose du style : NomDeLaClasse@hashCodeEnvoyé par Pill_S
Et le hashCode de objet ne correspond pas obligatoirement à l'adresse mémoire (même si c'est cette implémentation qui est utilisé sur les JVM de Sun pour les (b]Object[/b]).
Oui les JVM 64 existent déjà depuis quelques tempsEnvoyé par Pill_S
a++
Autant pour moi... j'étais persuadé que cela renvoyait l'adresse mémoireEnvoyé par adiGuba
Ok, faudrait que je me remette à la page...Envoyé par adiGuba
![]()
Je me suis mal expliqué... C'est en partie vrai car avec les JVM de Sun, le hashCode de la classe Object correspond à l'adresse mémoire de l'objet, mais ce n'est pas une spécification de Java mais un choix d'implémentation...Envoyé par Pill_S
C'est à dire que tu pourrais très bien avoir autre chose comme valeur...
a++
Quel est le code natif pour obtenir l'adresse mémoire d'un objet?
Ok, j'ai compris !
notamment si hashCode est redéfinieEnvoyé par adiGuba
dépend du language natif.... en C, tu récupère un pointeur avec l'opérateur &Quel est le code natif pour obtenir l'adresse mémoire d'un objet?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 int i = 20; int* p = &i;![]()
Ok
Pour la méthode hashCode de Object ca donnerait quelque chose comme ca alors?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 int addresse = &this
Envoyé par pollux007
:
non, moi je t'ai donné l'exemple en C, mais en Java l'opérateur "&" n'existe pas (enfin il existe mais il ne sert pas à la même chose)
![]()
Oui ca on est d'accord!!
Mais pour obtenir l'adresse mémoire il faut bien un langage natif... D'ailleurs la méthode hashcode() de Object est native...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager