A general-purpose programming language that is class-based, object-oriented(although not a pure OO language), and designed to have as few implementation dependencies as possible. It is intended to let application developers ‘write once, run anywhere’ (WORA), meaning that compiled Java code can run on all platforms that support Java without the need for recompilation.