StoryMakerTV

[SRC] Java Speichermessung

Jan 25th, 2012
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.17 KB | None | 0 0
  1.  
  2. public class Fak {
  3.     static long[] Speicher = new long [2000];
  4.     static Runtime st = Runtime.getRuntime();
  5.     static int i = 0;
  6.    
  7.     public static void p(int a ) {
  8.         System.out.println(a);
  9.     }
  10.     public static void p(long a ) {
  11.         System.out.println(a);
  12.     }
  13.     public static void p(String a ) {
  14.         System.out.println(a);
  15.     }
  16.    
  17.     private static long fak (int n) {
  18.         if (n==0||n==1) {
  19.             return 1;
  20.         } else {
  21.             //Speicher[i] = rt.freeMemory();
  22.             i++;
  23.             return n*fak(n-1);
  24.         }
  25.     }
  26.    
  27.     public static void auslesen() {
  28.         for(long k = 1; k < Speicher.length-1; k++) {
  29.             System.out.println(Speicher[i]);
  30.         }
  31.     }
  32.    
  33.     public static void main (String[] args) {
  34.         long MemAnfang;
  35.         long MemEnde;
  36.        
  37.         Runtime rt = Runtime.getRuntime();
  38.         rt.gc();
  39.         MemAnfang = rt.freeMemory();                                                                               
  40.         p("free (1): " + MemAnfang);
  41.  
  42.         p(fak(30));
  43.        
  44.         p("free (2): " +rt.freeMemory());
  45.         MemEnde = rt.freeMemory();
  46.        
  47.         System.out.println("Memory (begin) : " + MemAnfang/1024 + " kb");                                                                                                      
  48.         System.out.println("Memory (end)   : " + MemEnde/1024 + " kb");
  49.         System.out.println("Differenz      : " + (Math.abs(MemEnde-MemAnfang) / 1024) + "kb");
  50.  
  51.     }
  52. }
Advertisement
Add Comment
Please, Sign In to add comment