I have two questions for my fellow Slashdoters: "Is this a common concern with new CS grads?" and, if so, "What can I do to supplement my Java-oriented studies?"
I'm a hiring manager. Not knowing low level absolutely counts against you in terms of breadth of knowledge. It generally isn't a deal breaker but it would be treated the same way as not knowing OS theory, not knowing database theory, not understanding algorithms design, or machine learning. Its a hole, you lose a few points and we move on with the interview. As far as it being common CS grads differ a great deal from school to school, the curriculum is not remotely uniform. A recent CS grad can vary tremendously in what they know and what areas the degree doesn't mean anything than they've had some classes in some computer stuff.
In terms of what you can do to supplement. Learn things unlike Java. Definitely at least one functional language and one procedural language so you have something other than OO programming. Learn a low level language and a very high level language. Languages can do double duty so for example Mathematica is very high level and functional while C or Assembler (better choice BTW) is low level and procedural.
I've been a hiring manager (well, a manager who's hired). In general I don't care about the amount of low-level a candidate knows, I'm more concerned about how he writes the program (if that is what I'm hiring him to do) and how he'll fit into the project. Does he know the language syntax. What sort of stuff has he written. What sort of problems has he had, how did he get around them. In real big-boy operating systems, memory management is left to the OS: I just need someone who knows to be careful of the resources. And writes good, clean, maintainable code
A car analogy. I don't care if you're able to tune the engine to get that last fluid ounce of petrol. Just keep an eye on the MPG and most importantly, don't crash.