learning java - "niemeyer, patrick . " (beijing : o'reilly, 2005)