Java, A Beginner''s Guide, 5th Edition by Herbert Schildt & Schildt Herbert