This week's book giveaway is in the OCAJP forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide 1Z0-808 and have Jeanne Boyarsky & Scott Selikoff on-line! See this thread for details.
One thing that I have noticed is there seems to be functional programmers reference guide for the Java programming language, I bought an introduction to Java programming but, unlike C or C++ there does not be a good reference manual, there are tutorials with rely on an understanding of Java but not one thats aimed at novices like me, so we can read the manual and have a reference to find answers.
Could anyone point me at a good programmers reference.
Gosling and Arnold's "The Java Programming Language" is the closest there is to K&R for Java; you might enjoy that. Otherwise, there are quite a few introduction-to-Java books that might fit the bill, for example Bruce Eckel's well-known "Thinking in Java", which is available for free download (in an earlier edition.)
I would ditto that Java in a Nutshell, now in its 5th Edition (ISBN-13: 978-0-596-00773-7), and its companion Java Examples in a Nutshell are excellent. Unfortunately the Examples book has not been updated in a while and only covers Java 1.4. Part II of the Java in a Nutshell book is a nice API Reference that can add to what can be found in the Java API. In general, I personally find the Nutshell book more of a reference than a tutorial or introduction book.
Another recommendation would be Core Java�, Volume I�Fundamentals, Eighth Edition (ISBN-10: 0-13-235476-4) and Core Java� Volume II�Advanced Features, Eighth Edition (ISBN-10: 0-13-235479-9) by Cay S. Horstmann and Gary Cornell. I generally don't recommend those books to people brand new to programming as they do gloss over some of the more basic programming concepts. But for people who have programmed previously in other languages (especially C/C++), or as a second or third book for new programmers, they are very good. In fact, for previous c/C++ programmers, they are excellent as they have side notes about Java/C++ differences.