Backwards compatible: Java 8 can compile Java 7 programs, and Java 7 bytecode runs on a Java 8 JDK.
It is not possible to compile to Java 8 source and run on a Java 7 JVM: http://stackoverflow.com/questions/16143684/can-java-8-code-be-compiled-to-run-on-java-7-jvm TODO why?