Bonjour,
J'utilise la méthode suivante pour connaître le volume mémoire utilisé par ma JVM :
Comment transformer le résultat en bytes en Octets, Mo ou Go ?Code:Runtime.getRuntime().totalMemory()
Merci d'avance
Version imprimable
Bonjour,
J'utilise la méthode suivante pour connaître le volume mémoire utilisé par ma JVM :
Comment transformer le résultat en bytes en Octets, Mo ou Go ?Code:Runtime.getRuntime().totalMemory()
Merci d'avance
Une petite multiplication par k*1000?
Pas évident, hein... :roll:
Approximation (aussi connue sous le nom de taille à la Windows) :
diviser par 1000, 1 million, 1 miliard, ...
Taille réelle :
diviser par 1024, 1024x1024, 1024x1024x1024, ...
Rappel :
1 Ko = 1024 octets
1 Mo = 1024 Ko
1 Go = 1024 Mo
...
Hello.Citation:
Envoyé par bouye
http://members.optus.net/alexey/prefBin.xhtml
1 Ko = 1000 octets
1 Mo = 1000 Ko
1 Go = 1000 Mo
1 Ki = 1024 octets
1 Mi = 1024 Ki
1 Gi = 10240 Mi
Salut,
Plutôt une division ;)Citation:
Envoyé par Glob
Ce n'est pas une approximation ni une spécificité de Windows, mais une normalisation internationalle de 1998. Toutefois c'est vrai qu'elle n'est pas encore entré dans les habitudes des informaticiens... Plus d'info sur wikipédia : http://fr.wikipedia.org/wiki/OctetCitation:
Envoyé par bouye
a++
A ben oui forcement si la standardisation date de 1997...
Hum dur mes bases (1994) sont déjà toutes à revoir, dur...
:oops:
Edit - arf Windows n'est même pas dans la liste.
Note c'était le nom qu'on donnait à l'époque à ces approximations en cours d'info.
Peut-être une petit fonction du genre ?¨
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 public static String getFormattedFileSize(long size) { String[] suffixes = new String[] { "octets", "Ko", "Mo", "Go", "To" }; double tmpSize = size; int i = 0; while (tmpSize >= 1024) { tmpSize /= 1024.0; i++; } // arrondi à 10^-2 tmpSize *= 100; tmpSize = (int) (tmpSize + 0.5); tmpSize /= 100; return tmpSize + " " + suffixes[i]; }
Je vous remercie bien.