As far as computer RAM goes, perhaps my understanding is flawed, but isn’t the critical question how much RAM is allocated to the VM? Because if the VM runs out of memory it doesn’t really matter how much system RAM you have. You’d have to restart the VM to increase it’s system RAM allocation. And said VM RAM values can be obtained by
Runtime runtime = Runtime.getRuntime();
runtime.freeMemory();
runtime.totalMemory();
runtime.maxMemory();
And as far as Java2D graphics go, what other information do you need exactly other than available accelerated memory? I mean, I wouldn’t think you would want or need to enumerate the graphics card’s 3D capabilities just for Java2D. And graphics memory can be obtained through the GraphicsDevice which will also tell you available resolutions, number of monitors, and other information pertinent to 2D.
GraphicsDevice gd = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
gd.getAvailableAcceleratedMemory()
And for CPU information there are the system properties:
sun.cpu.endian=little
sun.io.unicode.encoding=UnicodeLittle
sun.cpu.isalist=pentium i486 i386
Anyway, I know it’s not alot of information but maybe some very basic information is all he really needs for now?