The JavaOne prgramming puzzlers session is well worth a look if you have any Java geek in you.
I've been going through the published slides from the JavaOne presentations, and I've already extracted the majority of the performance tips (here and here ).
But there are other sessions that are interesting too, and one of those is on programming puzzlers. This is a really fun session, but if you (like me) didn't get to attend you don't have to miss out. The slides at http://servlet.java.sun.com/javaone/resources/content/sf2003/conf/sessions/pdfs/1496.pdf are completely understandable, and well worth looking at whatever your level of Java. Only the most eagle-eyed and knowledgeable programmer is going to get through all ten puzzlers without getting caught out, so if you want to get 10 out of 10, you need to carefully read and understand every single bit of code before guessing answers. This is compulsive for the geeks in us all.
(One little bit of context. For the real-life presentation Joshua Bloch and Neal Gafter
wear Sun-logoed overalls and play "Click and Hack, the Type-It Brothers." This may help you to understand the last slide in the PDF presentation).