I haven't done any programming since 2011. I used to be a Java developer and I'm in fact SCJP 1.4 certified. What books can you recommend me to help me refresh my Java skill? One book I have in mind is Java: The Complete Reference (Ninth Edition).
There are better books than that. If you haven't written any Java® for 4 years, you will not be familiar with Java8. Look for something like JavaSE8 for the Really Impatient by Cai Horstmann or Java8 in Action by Urma Fusco and Mycroft, to bring you up to speed with Java8. Try the Java Tutorials, available free online.
If you really need refreshing, try going back to the basics with Head First Java. Since that book is now ten years old, you can buy second‑hand copies for very reasonable prices.
If you are going to get an intro book what about Horstmann't Core Java for the Impatient (or something like that). That is an introductory book and should being you up to speed with Java8 and should incorporate the changes in Java5 and 7.
Campbell Ritchie wrote:If you are going to get an intro book what about Horstmann't Core Java for the Impatient
I highly recommend Cay Horstman's books as well. He is the only Java author that I give high recommendations for. All the others are amateurs by comparison. (Though, I haven't had a chance to read the Deitel & Deitel book yet. I liked their C++ book a lot and suspect they will have done a similarly good job with Java.)
I can highly recommend The Well-Grounded Java Developer by Benjamin Evans and Martijn Verburg. It's a couple of years old now (Java 7 rather than Java 8), but it's full of practical stuff on Java development i.e. it doesn't focus just on the Java language (mainly stuff that was new in Java 7), but also looks at tools for test/build/CI, with additional introductory tutorials on other JVM languages, and some useful background on concurrency. It's a good way to get up to speed with what "well grounded" Java developers need to know in practice.