Head first Java - Sierra, Kathy (O'Reilly, 2005)