Core Java 12 by Cay S Gary; Horstmann Cornell