Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Gaetan Zoritchak
Causse Bruno wrote:
bonjour,
quel est l'occupation memoire d'un objet composé que de variables "primitives" ex :
class example { byte a; char b; int c; }
Je pense que c'est assez difficile de le savoir car cela dépend pas mal de l'implémentation de la JVM. Ainsi, un boolean ne "consomme" théoriquement qu'un seul bit mais pour des raisons de performances il est vraisemblablement stocké sous 32 bits.
Pour connaître la réponse exacte le mieux est de faire un test.
-- Gaetan Zoritchak
Causse Bruno wrote:
bonjour,
quel est l'occupation memoire d'un objet composé que de variables
"primitives" ex :
class example {
byte a;
char b;
int c;
}
Je pense que c'est assez difficile de le savoir car cela dépend pas mal
de l'implémentation de la JVM. Ainsi, un boolean ne "consomme"
théoriquement qu'un seul bit mais pour des raisons de performances il
est vraisemblablement stocké sous 32 bits.
Pour connaître la réponse exacte le mieux est de faire un test.
quel est l'occupation memoire d'un objet composé que de variables "primitives" ex :
class example { byte a; char b; int c; }
Je pense que c'est assez difficile de le savoir car cela dépend pas mal de l'implémentation de la JVM. Ainsi, un boolean ne "consomme" théoriquement qu'un seul bit mais pour des raisons de performances il est vraisemblablement stocké sous 32 bits.
Pour connaître la réponse exacte le mieux est de faire un test.
-- Gaetan Zoritchak
coco
Causse Bruno wrote:
bonjour,
quel est l'occupation memoire d'un objet composé que de variables "primitives" ex :
class example { byte a; char b; int c; }
-- bruno Causse http://perso.wanadoo.fr/othello
byte : 1 octet char : 2 octets int : 4 octets
rien n'est spécifié pour le booléen
-- Philippe
Causse Bruno wrote:
bonjour,
quel est l'occupation memoire d'un objet composé que de variables
"primitives" ex :
quel est l'occupation memoire d'un objet composé que de variables "primitives" ex :
class example { byte a; char b; int c; }
-- bruno Causse http://perso.wanadoo.fr/othello
byte : 1 octet char : 2 octets int : 4 octets
rien n'est spécifié pour le booléen
-- Philippe
Kupee
coco wrote:
byte : 1 octet char : 2 octets int : 4 octets
rien n'est spécifié pour le booléen
D'après mes essais sur la jvm sun 1.5 sous Windows c'était 1 octet si je me souviens bien. En tout cas pas 1 bit. J'avais d'ailleurs posté ici il y a quelque mois a ce sujet. Et finalement c'est logique c'est une question d'accès a la mémoire qui va pas aller s'emmerder a tout décaller de 1 bit parce qu'on a stocké un booleen ... Parce qu'on gagnerait ptet en mémoire mais en performances ...
coco wrote:
byte : 1 octet
char : 2 octets
int : 4 octets
rien n'est spécifié pour le booléen
D'après mes essais sur la jvm sun 1.5 sous Windows c'était
1 octet si je me souviens bien. En tout cas pas 1 bit.
J'avais d'ailleurs posté ici il y a quelque mois a ce sujet.
Et finalement c'est logique c'est une question d'accès a la mémoire
qui va pas aller s'emmerder a tout décaller de 1 bit parce qu'on a
stocké un booleen ... Parce qu'on gagnerait ptet en mémoire mais en
performances ...
D'après mes essais sur la jvm sun 1.5 sous Windows c'était 1 octet si je me souviens bien. En tout cas pas 1 bit. J'avais d'ailleurs posté ici il y a quelque mois a ce sujet. Et finalement c'est logique c'est une question d'accès a la mémoire qui va pas aller s'emmerder a tout décaller de 1 bit parce qu'on a stocké un booleen ... Parce qu'on gagnerait ptet en mémoire mais en performances ...
pasde.bcausse.spam
Kupee wrote:
coco wrote:
byte : 1 octet char : 2 octets int : 4 octets
rien n'est spécifié pour le booléen
D'après mes essais sur la jvm sun 1.5 sous Windows c'était 1 octet si je me souviens bien. En tout cas pas 1 bit. J'avais d'ailleurs posté ici il y a quelque mois a ce sujet. Et finalement c'est logique c'est une question d'accès a la mémoire qui va pas aller s'emmerder a tout décaller de 1 bit parce qu'on a stocké un booleen ... Parce qu'on gagnerait ptet en mémoire mais en performances ...
la question n'etait pas la :-)
que le byte = 1 octet (si il est isolé mais 1 bit dans le cadre d'un tableau) le char 2 octets ect je le sais.
c'est quelle taille a object = new example();
-- Bruno Causse http://perso.wanadoo.fr/othello
Kupee <rien@rien.rien> wrote:
coco wrote:
byte : 1 octet
char : 2 octets
int : 4 octets
rien n'est spécifié pour le booléen
D'après mes essais sur la jvm sun 1.5 sous Windows c'était
1 octet si je me souviens bien. En tout cas pas 1 bit.
J'avais d'ailleurs posté ici il y a quelque mois a ce sujet.
Et finalement c'est logique c'est une question d'accès a la mémoire
qui va pas aller s'emmerder a tout décaller de 1 bit parce qu'on a
stocké un booleen ... Parce qu'on gagnerait ptet en mémoire mais en
performances ...
la question n'etait pas la :-)
que le byte = 1 octet (si il est isolé mais 1 bit dans le cadre d'un
tableau) le char 2 octets ect je le sais.
D'après mes essais sur la jvm sun 1.5 sous Windows c'était 1 octet si je me souviens bien. En tout cas pas 1 bit. J'avais d'ailleurs posté ici il y a quelque mois a ce sujet. Et finalement c'est logique c'est une question d'accès a la mémoire qui va pas aller s'emmerder a tout décaller de 1 bit parce qu'on a stocké un booleen ... Parce qu'on gagnerait ptet en mémoire mais en performances ...
la question n'etait pas la :-)
que le byte = 1 octet (si il est isolé mais 1 bit dans le cadre d'un tableau) le char 2 octets ect je le sais.
c'est quelle taille a object = new example();
-- Bruno Causse http://perso.wanadoo.fr/othello
Black Myst
Causse Bruno wrote:
bonjour,
quel est l'occupation memoire d'un objet composé que de variables "primitives" ex :
class example { byte a; char b; int c; }
Il me semble que OptimizeIt donne ce genre d'info. (et probablement
d'autre profiler egalement)
Causse Bruno wrote:
bonjour,
quel est l'occupation memoire d'un objet composé que de variables
"primitives" ex :
class example {
byte a;
char b;
int c;
}
Il me semble que OptimizeIt donne ce genre d'info. (et probablement
quel est l'occupation memoire d'un objet composé que de variables "primitives" ex :
class example { byte a; char b; int c; }
Il me semble que OptimizeIt donne ce genre d'info. (et probablement
d'autre profiler egalement)
James Kanze
Bruno Causse wrote:
Kupee wrote:
coco wrote:
byte : 1 octet char : 2 octets int : 4 octets
rien n'est spécifié pour le booléen
D'après mes essais sur la jvm sun 1.5 sous Windows c'était 1 octet si je me souviens bien. En tout cas pas 1 bit. J'avais d'ailleurs posté ici il y a quelque mois a ce sujet. Et finalement c'est logique c'est une question d'accès a la mémoire qui va pas aller s'emmerder a tout décaller de 1 bit parce qu'on a stocké un booleen ... Parce qu'on gagnerait ptet en mémoire mais en performances ...
la question n'etait pas la :-)
que le byte = 1 octet (si il est isolé mais 1 bit dans le cadre d'un tableau) le char 2 octets ect je le sais.
c'est quelle taille a object = new example();
Qui sait ? Ça dépend de l'implémentation, et il n'y a aucun moyen de le savoir réelement. Typiquement, la JVM va ajouter des octets de rembourrage, pour que les éléments soient correctement alignés (au moins qu'il ne les sorte pas selon leur taille), quelque chose pour sa propre gestion (il faut bien qu'il puisse en trouver l'objet de classe qui correspond), et peut-être aussi quelque chose pour s'assurer l'alignement global, mettons dans le cas où on en dérive. Disons que dans la pratique, 12 octets me semble un minimum, et quelque chose entre 16 et 24 ne m'étonnera pas.
-- James Kanze home: www.gabi-soft.fr Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 pl. Pierre Sémard, 78210 St.-Cyr-l'École, France +33 (0)1 30 23 00 34
Bruno Causse wrote:
Kupee <rien@rien.rien> wrote:
coco wrote:
byte : 1 octet
char : 2 octets
int : 4 octets
rien n'est spécifié pour le booléen
D'après mes essais sur la jvm sun 1.5 sous Windows c'était 1
octet si je me souviens bien. En tout cas pas 1 bit. J'avais
d'ailleurs posté ici il y a quelque mois a ce sujet. Et
finalement c'est logique c'est une question d'accès a la
mémoire qui va pas aller s'emmerder a tout décaller de 1 bit
parce qu'on a stocké un booleen ... Parce qu'on gagnerait ptet
en mémoire mais en performances ...
la question n'etait pas la :-)
que le byte = 1 octet (si il est isolé mais 1 bit dans le
cadre d'un tableau) le char 2 octets ect je le sais.
c'est quelle taille a object = new example();
Qui sait ? Ça dépend de l'implémentation, et il n'y a aucun
moyen de le savoir réelement. Typiquement, la JVM va ajouter des
octets de rembourrage, pour que les éléments soient correctement
alignés (au moins qu'il ne les sorte pas selon leur taille),
quelque chose pour sa propre gestion (il faut bien qu'il puisse
en trouver l'objet de classe qui correspond), et peut-être aussi
quelque chose pour s'assurer l'alignement global, mettons dans
le cas où on en dérive. Disons que dans la pratique, 12 octets
me semble un minimum, et quelque chose entre 16 et 24 ne
m'étonnera pas.
--
James Kanze home: www.gabi-soft.fr
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 pl. Pierre Sémard, 78210 St.-Cyr-l'École, France +33 (0)1 30 23 00 34
D'après mes essais sur la jvm sun 1.5 sous Windows c'était 1 octet si je me souviens bien. En tout cas pas 1 bit. J'avais d'ailleurs posté ici il y a quelque mois a ce sujet. Et finalement c'est logique c'est une question d'accès a la mémoire qui va pas aller s'emmerder a tout décaller de 1 bit parce qu'on a stocké un booleen ... Parce qu'on gagnerait ptet en mémoire mais en performances ...
la question n'etait pas la :-)
que le byte = 1 octet (si il est isolé mais 1 bit dans le cadre d'un tableau) le char 2 octets ect je le sais.
c'est quelle taille a object = new example();
Qui sait ? Ça dépend de l'implémentation, et il n'y a aucun moyen de le savoir réelement. Typiquement, la JVM va ajouter des octets de rembourrage, pour que les éléments soient correctement alignés (au moins qu'il ne les sorte pas selon leur taille), quelque chose pour sa propre gestion (il faut bien qu'il puisse en trouver l'objet de classe qui correspond), et peut-être aussi quelque chose pour s'assurer l'alignement global, mettons dans le cas où on en dérive. Disons que dans la pratique, 12 octets me semble un minimum, et quelque chose entre 16 et 24 ne m'étonnera pas.
-- James Kanze home: www.gabi-soft.fr Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 pl. Pierre Sémard, 78210 St.-Cyr-l'École, France +33 (0)1 30 23 00 34
Kupee
Bruno Causse wrote:
rien n'est spécifié pour le booléen
D'après mes essais sur la jvm sun 1.5 sous Windows c'était 1 octet si je me souviens bien. En tout cas pas 1 bit. J'avais d'ailleurs posté ici il y a quelque mois a ce sujet. Et finalement c'est logique c'est une question d'accès a la mémoire qui va pas aller s'emmerder a tout décaller de 1 bit parce qu'on a stocké un booleen ... Parce qu'on gagnerait ptet en mémoire mais en performances ...
la question n'etait pas la :-)
que le byte = 1 octet (si il est isolé mais 1 bit dans le cadre d'un tableau) le char 2 octets ect je le sais.
c'est quelle taille a object = new example();
Euh je répondais a coco et il parlait du booleen lui ...
Bruno Causse wrote:
rien n'est spécifié pour le booléen
D'après mes essais sur la jvm sun 1.5 sous Windows c'était
1 octet si je me souviens bien. En tout cas pas 1 bit.
J'avais d'ailleurs posté ici il y a quelque mois a ce sujet.
Et finalement c'est logique c'est une question d'accès a la mémoire
qui va pas aller s'emmerder a tout décaller de 1 bit parce qu'on a
stocké un booleen ... Parce qu'on gagnerait ptet en mémoire mais en
performances ...
la question n'etait pas la :-)
que le byte = 1 octet (si il est isolé mais 1 bit dans le cadre d'un
tableau) le char 2 octets ect je le sais.
c'est quelle taille a object = new example();
Euh je répondais a coco et il parlait du booleen lui ...
D'après mes essais sur la jvm sun 1.5 sous Windows c'était 1 octet si je me souviens bien. En tout cas pas 1 bit. J'avais d'ailleurs posté ici il y a quelque mois a ce sujet. Et finalement c'est logique c'est une question d'accès a la mémoire qui va pas aller s'emmerder a tout décaller de 1 bit parce qu'on a stocké un booleen ... Parce qu'on gagnerait ptet en mémoire mais en performances ...
la question n'etait pas la :-)
que le byte = 1 octet (si il est isolé mais 1 bit dans le cadre d'un tableau) le char 2 octets ect je le sais.
c'est quelle taille a object = new example();
Euh je répondais a coco et il parlait du booleen lui ...