It seems that most Java native compilers (which allow you to compile your Java source code to native machine instructions) actually read .class files, rather than .java files. In other words, you have to use a standard Java compiler such as
javac to compile your Java source file into a .class file. Apparently, this is to save the hassle of parsing the Java source file, providing error messages for syntax errors, and so on. It also means that .class files have almost as much information in them as .java files do, at least enough to translate them to native code.
In other words, Java native compilers are much closer to
Binary Translators than
Java Dynamic Compilers are. If you consider the bytecode format to be a binary format, then they are true binary translators. My (
MikeVanEmmerik's) opinion is that class files are true binary files; it just happens that they are rich with class and method names and the like.
Links
--
MikeVanEmmerik - 02 Apr 2002