I have been impressed with the genius of Doug Lea when I saw his concurrent package in Java. His home page contains a lot of interesting links : http://gee.cs.oswego.edu/dl/
Chief among them are :
- A online OO book : http://gee.cs.oswego.edu/dl/oosdw3/index.html
- Roles Before Objects : http://gee.cs.oswego.edu/dl/rp/roles.html
This page is worth a perusal.