This week's book giveaway is in the OCAJP forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide 1Z0-808 and have Jeanne Boyarsky & Scott Selikoff 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.