The compiler is what turns the words you type into optimized code the computer actually understands. The interpreter is the program on the computer that reads the code. The strength of Java is that, because it is interpreted, a program will reliably work the same on any "machine" that supports the Java specification that you have written for, which may include Windows, Mac, Linux, Mobile Phones, PDAs, and even GPS receivers.
The Java Interpretar converts the source java code to byte code which is understandable by the JIT(Just Int Time) compiler.Now,The JIT compiler converts the byte code to native code.This is how portability is achieved in Java.