RE:informacion de la computadora, SO, Memoria, etc
Puedes averiguar algunas cosas básicas acerca del ambiente que estás utilizando mediante System.getProperty("valor.del.sistema").
He aquí algunos valores del sistema:
os.arch - Arquitectura del procesador (por ejemplo "x86")
os.name - Nombre del sistema operativo
os.version - Versión del sistema operativo
user.name - Nombre del usuario actual
user.dir - Directorio actual
user.home - Directorio de datos del usuario (%USERPROFILE% en Windows, $HOME en Unix y MacOS X)
java.runtime.version - Version de java
file.separator - Separador de argumentos para archivos ("\" en Windows, "/" en Unix/MacOSX)
Como Java es una máquina virtual, cualquier otra cosa que quieras saber de la máquina donde estás ejecutando el código deberá ser mediante la interface nativa (JNI) y lenguaje C.
Acerca de la memoria, puedes averiguar la memoria total y libre dentro de la maquina virtual (que no es lo mismo que dentro del sistema). Esto se hace mediante Runtime.getRuntime().freeMemory() y Runtime.getRuntime().totalMemory().