Java study advice