History and Features of Java