Will the bytecode be the same if the same java file is compiled by different Java compilers? No changes have been made to the Java source file.
Will the bytecode be the same if the same java file is compiled on different JVMs? No changes have been made to the Java source file.
It's not entirely clear what you mean, but the answer is most likely no.
Different JDKs will have different Java compilers that can generate different bytecodes for the same source code. The javac compiler has evolved over time.
Java , classfile.
JDK, .class. ( ...)
"" , () , - , JDK - Java .
.
PS: , "JDK", "JVM"
- Java, JVM. - - , JVM, JVM , . JVM, , . Just-in-time (JIT).
, , Java - : http://en.wikipedia.org/wiki/Java_compiler
. - , , . , , , , javac JDK. - JVM.
JVM, JVM, (). . , , javac jvm. - ?
, JDK. Java , . - Java.
, : , , com.sun .., ., Object (In | Out) putStream, - Sun JDK IBM JDK, , , - , .: http://docs.oracle.com/javase/specs/ - Java, Java SE 7 Edition: . , -, JVM .
com.sun