//se pueden recorrer todas las llaves de runtime con Iterator
        Runtime r=Runtime.getRuntime();
        r.totalMemory()
        r.freeMemory()
        Runtime.getRuntime().exec("calc.exe");
        m=System.getenv();
        System.gc(); //Ejecuta el garbage colector
        System.in - Entrada estandar
        System.out - Salida Estandar
        System.err - Salida de error estandar
        System.out.write() - Escribe bytes

        Properties obj=new Properties(System.getProperties());
        obj.list(System.out);

        
        //Con Interfaz se implementa run()
        public class miClase extends Thread{
	        public void run(){
	        	sleep((int)(Math.random()*10000));
		        System.out.println("Termine: "+ii_max+" "+getName()+" "+getId());
        	}            
        }

        (miClase)obj.start();

        //Heredando se sobrescribe run()
        public class miClase implements Runnable{
            miClase(int tarea, int ii_tiempo){
                try{
                    Thread.sleep(ii_tiempo);
                } catch(Exception e) {}
                System.out.println("Acabo tarea: "+ii_tarea);
            }
            public void run(){
                
            }
        }

        Thread tr1=new Thread(new miClase(1,(int)(Math.random()*1000)));
		Thread tr2=new Thread(new miClase(2,(int)(Math.random()*1000)));
		Thread tr3=new Thread(new miClase(3,(int)(Math.random()*1000)));

        try {		
		tr1.start();
		tr2.start();
		tr3.start();
		
		System.out.println("Se mandaron a ejecutar las tareas");
		
		} catch(Exception e) {
			System.out.println(e.getMessage());
		}

        start()
        currentThread()
        yield()
        sleep(milisegundos)
        suspend()
        resume()
        stop()
        isAlive()
        setPriority()
        setDaemon()