As Rohit pointed out, CPU registers are meant for manipulating data, so they will hold data, not instructions. But between RAM and CPU registers you'll find several layers of cache, and that's used for both data and instructions.
Of course, with a process like the JVM it gets more complicated, because part of what the JVM does is to interpret bytecode instructions. So as far as the JVM is concerned, bytecode is data, even though it conceptually is code. But what I said above is still true for native code.
Rest assured that none of this is part of the
SCJP, though. I'll move the discussion to a more appropriate forum.
[ February 06, 2008: Message edited by: Ulf Dittmer ]