Java By Dissection by Ira Pohl & Charlie McDowell