Techopedia Explains Java Bytecode
Java bytecode is the resulting compiled object code of a Java program. This bytecode can be run in any platform which has a Java installation in it.
This machine independence is because of the Java virtual machine that runs the bytecode in proxy of the processor which means that a Java programmer does not have to be knowledgeable about the quirks and nuances about specific operating systems and processors that the program will be run on because the virtual machine takes care of those specifics.
The Java bytecode is not completely compiled, but rather just an intermediate code sitting in the middle because it still has to be interpreted and executed by the JVM installed on the specific platform such as Windows, Mac or Linux.
Upon compile, the Java source code is converted into the .class bytecode.