Translator's note: I found this article on the javareviseted resource and found the author's selection quite complete and interesting. It mainly talks about new books (or new editions). And we are talking not only about Java, but also about related technologies and Soft Skills. I want to note that the information in this collection will be of interest, rather, not to absolute beginners, but to those who have completed about half of the CodeGym course. Or more.
For those who are just starting out and looking for a tutorial on the basics of Java programming, I recommend taking a closer look at my article Top 7 Java Books for Beginners . In this translation, I tried to provide a link to the Russian-language edition, if it exists in nature. All successful studies! And here is a list of books that the author of the original material cites:
![20 Best Java Books to Read in 2018 - 1](https://cdn.javarush.com/images/article/08abd60b-655e-4bac-b185-623bcaf8196a/800.jpeg)
1. Java 8 Action
The Java 8 Programming Tutorial. This is one of the books I've been reading since 2016. I've been reading it all through 2017 while learning about JDK 8 features. into hands.![20 Best Java Books to Read in 2018 - 2](https://cdn.javarush.com/images/article/d472364c-f29b-42cf-9ea5-3584981506c1/original.jpeg)
2. Clean Architecture
( Martin R. "Clean Architecture. The Art of Software Development" ) An excellent book that I discovered in 2017. I'm a big fan of Uncle Bob's books and have already read Clean Code and The Clean Coder on proper architecture. If you want to understand the pros and cons of different software architectures, this book is for you.![20 Best Java Books to Read in 2018 - 3](https://cdn.javarush.com/images/article/203f27ee-e3d3-4129-86c1-c304471770c1/original.jpeg)
3. Grokking Algorithms
( Bhargava A. "Groaking Algorithms" ) Another great book I read in 2017 and probably the best book of 2017. Although it covers only a small number of algorithms and data structures, everything covered is extremely interesting and useful. This algorithm programming tutorial brings old concepts to modern examples, breathing new life into them, such as describing how Facebook stores user data. In short, this is a must-read book for anyone starting to learn algorithms in 2018.![20 Best Java Books to Read in 2018 - 4](https://cdn.javarush.com/images/article/a8354a1e-2f8a-46b8-97a3-2a2f7894f53c/original.jpeg)
4. Building Microservices: Designing Fine-Grained Systems
( Newman S. "Building Microservices" ) Everyone is talking about microservices, but what is it? What is the main advantage of a microservices architecture over a monolithic one? This book answers all these questions. I haven't finished reading it yet, so I'm going to read it in 2018 as well.![20 Best Java Books to Read in 2018 - 5](https://cdn.javarush.com/images/article/fd8ec46f-36e9-405e-b0cd-92f665083151/original.jpeg)
5. Soft Skills
( Sonmez D. Way of the programmer ) This is not a programming tutorial, it is a tutorial "How to be a programmer so that other people do not hate you." Many developers ignore so-called "soft skills" such as email writing, career advancement, and self-improvement. John Sonmez has written a great book, and if you feel like your career has stalled and would like to push it forward in 2018, this is a must read.![20 Best Java Books to Read in 2018 - 6](https://cdn.javarush.com/images/article/88bb464a-c4a3-45fc-8aed-a1b6c1356897/original.jpeg)
6. Database Design for Mere Mortals
(Database design for mere mortals) Good old textbook on programming, or rather, database design. I love finding good old books that have not lost their relevance, and this is one of them. It's still a great starting point for those who want to learn database design or take their database modeling skills to the next level.![20 Best Java Books to Read in 2018 - 7](https://cdn.javarush.com/images/article/6c25a740-c41f-4411-8a81-493531e0dde5/original.jpeg)
7. Making Java Groovy by Ken Kousen
(Groovy for Java) In 2017, I had a chance to work a little with the Groovy programming language and this was the first book I read about it. If you decide to learn Groovy in 2018, then it provides an excellent knowledge base from a Java programmer's point of view. It provides exactly as many details as you need to use all its advantages - and nothing superfluous and incomprehensible for beginners.![20 Best Java Books to Read in 2018 - 8](https://cdn.javarush.com/images/article/8e25d79c-f8d9-4940-a718-bb4c4448ca0b/256.jpeg)
8. Groovy in Action, Second Edition
(Groovy in action) This was the second Groovy language book I read in 2017. While "Making Java Groovy" is a good place to start, it doesn't cover everything, so after learning the basics of Groovy and writing a few scripts with it, you'll need more information. This is where this book comes in handy.![20 Best Java Books to Read in 2018 - 9](https://cdn.javarush.com/images/article/470637e4-b49e-4fea-8964-952011120b46/original.jpeg)
9. TCP/IP Illustrated
(TCP/IP in pictures) One of my least favorite books, but still very useful. I haven't finished reading it yet, but if you want all the details about TCP/IP, it makes sense to read it.![20 Best Java Books to Read in 2018 - 10](https://cdn.javarush.com/images/article/42786325-2412-4284-92df-1bc8097ae094/original.jpeg)
10 UML Distilled by Martin Fowler
( Martin Fowler, "UML Fundamentals 3rd Edition" ) In 2017 I had to draw a few UML diagrams and to brush up on my UML knowledge I chose this book. It will also come in handy for learning UML in 2018.![20 Best Java Books to Read in 2018 - 11](https://cdn.javarush.com/images/article/1de8b102-4e11-48b7-bd43-25641db28e29/original.jpeg)
11. Hibernate Tips
(Hibernate Tips) One of the most useful Java books of 2017, written by renowned blogger Thorben Janssen. The book contains 70 practical tips for Hibernate. If you're using Hibernate , these tips will help fill in the gaps in your knowledge, and if you decide to learn Hibernate in 2018, this book will take your studies to a new dimension.![20 Best Java Books to Read in 2018 - 12](https://cdn.javarush.com/images/article/5b8168fd-85df-4ccb-a4ad-eb9abad84f10/original.jpeg)
12. The Art of Agile Development
(The Art of Agile Development) I've been using Agile for quite some time now, but I still occasionally read Agile books to brush up on my knowledge and learn new things. This book turned out to be an excellent guide to Agile, even those who use it regularly can learn something from it.![20 Best Java Books to Read in 2018 - 13](https://cdn.javarush.com/images/article/1aadf92e-e29e-4fe7-955f-6eb36e0ed614/original.jpeg)
13. Essential Scrum
(Fundamentals of Scrum) I played the role of a Scrum Master in 2017 and read this book to prepare. Scrum works great for small, local development teams, but if you try to manage a large team scattered around the world remotely, things can go wrong quickly. This book covers all the utilities and gives you all the instructions you need to organize Scrum meetings - everything you need to become a Scrum Master. If you would like to become a Scrum Master in 2018, read it. You can also take any of the Scrum and Agile online courses, for which I recommend you check out Scrum Fundamentals on Pluralsight.![20 Best Java Books to Read in 2018 - 14](https://cdn.javarush.com/images/article/2119c4b2-48a5-434f-9d87-b2027b331639/original.jpeg)
14. Java Performance Companion
(Java Performance Handbook). A Java tutorial for those who already know something. I read a few books on fine-tuning Java performance in 2016 and earlier, such as The Definitive Guide to Java Performance , so I didn't expect much from it. My only goal was to deal with the garbage collector (garbage collector) G1, which I learned about from there. This book is an excellent starting point for those who would like to focus their efforts on Java performance tuning in 2018.![20 Best Java Books to Read in 2018 - 15](https://cdn.javarush.com/images/article/5c18e7ee-9243-4ed0-91d9-00fe0fdb15af/original.jpeg)
15. High-Performance Java Persistence
(High-Performance Data Storage in Java) Another book left over from 2016, which I finished in 2017. And another great book on Hibernate with a focus on performance. If you are going to seriously learn more about Hibernate in 2018, I recommend that you read both the book from point 11 and this one.![20 Best Java Books to Read in 2018 - 16](https://cdn.javarush.com/images/article/6ee94e3a-33ad-48ce-aaf3-63bee7031963/original.jpeg)
16. Functional Programming in Scala
(Functional Programming in Scala) I tried to get to grips with the Scala language in 2017 with little success. I read a couple of books on it, but I didn't have enough practice to really study it. Particularly because I don't use it in my projects and I have more important things to pay attention to. In any case, if you decide to get into functional programming and the Scala language in 2018, take a look at this book. Maybe I'll re-read it in 2018 if I have time.![20 Best Java Books to Read in 2018 - 17](https://cdn.javarush.com/images/article/07fac782-8ee0-445c-b1f6-bceeace437c2/256.jpeg)
17. Scala for the Impatient
(Scala for the impatient) Another Scala language book I read in 2017. I love Kay S. Hortsmann's style and have read several of his books, notably Core Java Part 1 and II (Java. Professional's Library) and Java SE 8 for the Really Impatient (Java SE 8 Basic Course). This is a book in a similar style to the Scala language. This is a good starting guide for those who are going to learn Scala in 2018.![20 Best Java Books to Read in 2018 - 18](https://cdn.javarush.com/images/article/352145c7-1a51-4727-83e7-fed0d266fba5/original.jpeg)
18. Head First JavaScript
( Robson E., Freeman E. "Learning JavaScript Programming" ) I've already said that JavaScript is the #1 programming language today, so if you don't know it, you're missing out. This book is a must read for all web developers and learners of frameworks such as Angular, React, and jQuery. If you have yet to learn JavaScript, there is no better book than Head First JavaScript. A must read for anyone who decides to learn JavaScript in 2018.![20 Best Java Books to Read in 2018 - 19](https://cdn.javarush.com/images/article/e5e6d794-75c9-4f72-b727-f113098f624b/256.jpeg)
19. SQL Cookbook
( E. Molinaro "SQL. Cookbook" ) SQL is my favorite technology, I always enjoy finding interesting SQL books. I found this book in 2017 and am happy to share it with you. This book is practice oriented and has a lot of great tips for using SQL in a variety of databases. Read it in 2018 if you want to take your SQL skills to the next level. You can also use these SQL learning websites to further improve your SQL knowledge.![20 Best Java Books to Read in 2018 - 20](https://cdn.javarush.com/images/article/e710d352-6d07-48b0-9b6e-d40e60268bea/original.jpeg)
20. The Complete Software Developer's Career Guide
(The Comprehensive Software Developer Career Guide) Last but not least, a great book for real software developers. If you're serious about career growth and would like to take matters into your own hands in 2018, then be sure to read this book. John Sonmez of SimpleProgrammer.com has a lot of good advice in this book and the Programmer's Way referenced above.![20 Best Java Books to Read in 2018 - 21](https://cdn.javarush.com/images/article/e47493a4-dd9f-4158-8d6b-9b544edd56a0/original.jpeg)