There are several options for getting system information in Java (the Runtime class, the java.lang.management package, etc.).
However, this is usually very limited information, and tends not to cover the things you seem to require.
You should consider using a 3rd party solution, such as the following:
- SIGAR - http://www.hyperic.com/products/sigar (requires native DLL to be installed)
- OSHI - https://github.com/oshi/oshi