This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
Java code is not backwards compatible. If you use Tiger specific features in your code you will be unable to compile to a classfile format earlier than 1.5.0 which means you cannot run your class against an older JVM. Classes compiled against an older compiler version will run on Tiger (usually, there may be exceptions if those classes use keywords new in Tiger for for example methodnames just like classes using 'assert' as an identifier name cannot be used with a 1.4 or later JVM).
When I read "backwards compatible", I think "code written in 1.4 can be run on a 1.5 JVM". However, the question seems to suggest the other way around: code written in 1.5 can be run on a 1.4 JVM. As Jeroen says, this isn't possible. The correct terminology, I think, is that Java is not *forward* compatible. In fact most software isn't.