I am reading Java Virtual Machine specification. I am puzzled with the following statement
"Compiled code to be executed by the Java Virtual Machine is represented using a hardware- and operating system-independent binary format, typically (but not necessarily) stored in a file, known as the class file format."
Bytecode is just that - bytes. It can just as well be stored in a DB. Or it can be stored in memory in a byte[], if there is no need for persistence once the process is finished. See http://www.javaranch.com/journal/200711/Journal200711.jsp#a4 for an article of mine that describes a scenario where classes are created in memory, but never stored anywhere.