Martin Fowler 1999
This is the pre-eminent Refactoring book. It uses Java examples.
Title: Refactoring : improving the design of existing code
Author: Martin Fowler + Kent Beck, John Brant, William Opdyke, Don Roberts
Publisher: Addison-Wesley Professional
Copies: In the PSL. Wals library has a copy too.
This is an awesome book. I found after reading this that I felt refreshed and excited about coding and continuously improving my code. The book can roughly be divided into two sections. The first of these gives an example of an application in need of refactoring. Fowler takes you step by step through the refactoring process and explains why. He then presents the final result with all its benefits.
The second setion is a large index of refactorings. Each has a description, discussion and examples where needed. The descriptions are clear and linked to similar refactorings.
This is an awesome book for reference. It is not really a book to be read cover to cover but is certainly worth a look. I would recommend this book to others. (User:BenjaminTaylor)