learning java on the surface