My Java Reading List

Even before I started work at Amazon, I got started getting up to speed on the main language I would use for the job.

Here is the reading list I put together and future books I want to read.

What I've Read so Far:

It took me a few months to get through these.

Java: A Beginner's Guide, Seventh Edition

Java: A Beginner's Guide, Seventh Edition

I read the sixth edition, which was out when I was buying.

This book is a comprehensive introduction to the language, and may go into more detail than you want (or need), but when learning a new language, I like to go deep.

The 8th edition is coming November 2018:

Java: A Beginner's Guide, Eighth Edition

Effective Java, 3rd Edition

Effective Java, 3rd Edition

I read the second edition. The 3rd edition is brand new, and is updated for Java 9.

Anyone, with some time, can learn and use Java to get the job done, but Effective Java guides the newcomer (and grizzled veteran) past traps that seem attractive but can lead to troubles down the road.

Clean Code

Clean Code

Clean Code is not Java-specific, but the code is in Java. The advice in this book will help you write readable, maintainable, extensible code that your fellow co-workers (and your future self) will appreciate.

Future Reading:

Java Concurrency in Practice

Java Concurrency in Practice

The go-to book for concurrent processing. I'm not afraid of multi-threaded, but I know there are some problems that can be mitigated by learning more, and learning how to tune thread-based processing.

Maybe

I want to make the most use of my time, as I have a lot more I want to study beyond Java. These are candidates. Please comment with your opinion.

Thinking in Java, 4th Edition

Thinking in Java, 4th Edition

This book is pretty old, as far as Java goes, published in 2006. I understand it was a must-read at the time, but is it just out of date? Is it still worth reading?

Java: The Complete Reference, Eleventh Edition

Java: The Complete Reference, Eleventh Edition

I was thinking of picking this up in order to get more familiar with the language features, APIs, and libraries that will save me a lot of effort. What do you think?

comments powered by Disqus