Your Must-Read: Java


  • Core Java, Volume I: Fundamentals, 12th Edition, Cay S. Horstmann, Oracle, 2021 (the newest edition of The Java Bible, Java 8 and higher)
  • Core Java, Volume II: Advanced Features, 12th Edition, Cay S. Horstmann, Oracle, 2022
  • Thinking in Java 4th Edition, Bruce Eckel, Pearson, 2006 (old-school but still important for understanding the deeper fondamentals of Java 5/6)
  • Effective Java, 3rd Edition, Joshua Bloch, 2018
  • The Well-Grounded Java Developer, Benjamin J. Evans, Martijn Verburg, Manning, 2010 (overview of Java 7 and JVM languages)
  • Spock Up and Running. Writing Expressive Tests in Java and Groovy, Rob Fletcher, O’Reilly, 2017
  • Java Testing With Spock, Konstantinos Kapelonis, Manning, 2016
  • Java in a Nutshell. A Desktop Quick Reference 7th Edition, Ben Evans, David Flanagan, O’Reilly, 2018

Still-To-Read List: Java


I think I read a lot: some 5-6 books monthly, including an average 1,5 of IT book per month. But this to-read list grows even faster that I can manage. Most of them - old school, but still worth reading.

  • Java Generics and Collection, Maurice Naftalin, Philip Wadler, O’Reilly, 2006
  • Java Concurrency in Practice, Brian Goetz (It’s often said that you think you’re good at Java until you open this book.)
  • Java Performance, Charlie Hunt, Binu John, Financial Times Prentice Hall, 2011 (On Java internals, good opinions.)
  • Java Performance Companion, Charlie Hunt, Addison-Wesley Professional, 2016
  • Java Performance, The Definitive Guide, Scott Oaks, O’Reilly, 2014
  • Java Puzzlers: Traps, Pitfalls, and Corner Cases, Joshua Bloch, Neal Gafter, Pearson, 2005
  • Java By Comparison: Become a Java Craftsman in 70 Examples, Simon Harrer, Jörg Lenhard, Linus Dietz, Pragmatic Bookshelf, 2018
  • Java Performance and Scalability: A Quantitative Approach, Henry H. Liu, CreateSpace, 2013
  • System Performance: Enterprise and the Cloud, 2nd Edition, Brendan Gregg, Pearson, 2020
  • High-Performance Java Persistence, Vlad Mihalcea, 2016
  • The Optimizing Java: Practical Techniques for Improving JVM Application Performance, Ben Evans, James Gough, Chris Newland, O’Reilly, 2018
  • The Java Virtual Machine Specification or any book on the topic
  • Java 9 Modularity: Patterns And Practices For Developing Maintainable Applications Sander Mak, Paul Bakker, O’Reilly, 2023
  • Best Books to Become Better Java Developer at Shepherd.com

Computer science


  • Grokking Algorithms. An illustrated guide for programmers and other curious people, Aditya Y. Bhargava, Manning, 2016
  • Informatyka. Wirtualna podróż w świat systemów i sieci komputerowych, Mirosław Hajder, Heorhii Loutski, Wiesław Stręciwilk, 2002 (It is still an up-to-date knowledge source for computer programmers. Some chapters are very easy, some others contain a lot of mathematics, formulas and computer science theory. Overall, a nice introduction into several areas of computer science.)
  • Goalkicker’s Algorithms Book

Resources


Videos


Tools


Dojo


Other JVM languages, functional languages, Kafka

Scala


Kafka


Clojure


Functional Java


Groovy


Kotlin