So I compiled this code and decompiled it into bytecode:
System.out.println("hi");
compiles to:
getstatic
ldc
invokevirtual
From what I can see here, the literal value "hi" isn't explicitly stored in any bytecode format, so does a .class file also contain a hidden representaion of a stack for that program. For example when I compiled that program would the .class file contain that bytecode, and a heap data structure containing the literal value "hi". And more generally, does a .class file contain more than just bytecode (e.g. a representation of the heap, stack and registers). thanks!