L'espace mémoire en octet,méga,

Résolu
caroline -  
 caroline -
Bonjour,
juste un petit rappelle, est ce que l'espace mémoire donner par

long currentMemory = totalMemory-Runtime.getRuntime().freeMemory();

c'est en octet,méga,..
merci d'avance

1 réponse

  1. KX Messages postés 19031 Statut Modérateur 3 020
     
    C'est marqué dans la documentation : measured in bytes.

    Mais tu peux te prendre une méthode d'affichage qui choisiras les bonnes unités :
    import java.text.DecimalFormat;
    
    public static String memoire(long capacite)
    {
    	String IEC_60027_2=" KMGPEZY";		
    	int i;
    	double maxCapacite;			
    	
    	for(	i=0, maxCapacite=1;
    		i<IEC_60027_2.length() && capacite>=1024*maxCapacite;
    		i++, maxCapacite*=1024
    	);
    
    	return new DecimalFormat("0.00 "+IEC_60027_2.charAt(i)+"io")
    			.format((double) capacite/maxCapacite);
    }
    
    public static String statsRuntime()
    {
    	Runtime r=Runtime.getRuntime();
    	long a=r.totalMemory(), b=(a-r.freeMemory()), c=r.maxMemory();
    	return "Mémoire de la JVM : "+memoire(b)+" utilisés sur "+memoire(a)+
    		" disponibles (extensible jusqu'à "+memoire(c)+")";
    }
    
    public static void main(String args[])
    {	
    	System.out.println(statsRuntime());
    }
    0
    1. caroline
       
      merci
      0