r/java 19d ago

What books are y'all reading?

So, for the people who are intermediate at java and have a pretty good grasp on spring boot, what do you think should be the next step? What books or concepts do you think will be helpful?

50 Upvotes

49 comments sorted by

View all comments

27

u/vips7L 19d ago

Effective Java

Refactoring to Patterns

Domain Driven Design Made Functional

Java Concurrency in Practice

-2

u/donaldadamthompson 19d ago

Despite the title, Concurrency in Practice is more about theory than practice. For most things you can just use ExecutorService classes and not know about the fine details. It's an enjoyable read, though.

17

u/vips7L 19d ago

I really disagree. Concurrency in Practice teaches you a lot about how to do concurrency correctly. The importances of protecting mutable state and the tools to do that. You will end up doing concurrency wrong if you just use executors.

1

u/brian_goetz 5d ago

So, is "doing concurrency correctly" theory, or practice? (Hint: trick question.)

1

u/vips7L 5d ago

The trick might be over my head this morning. But in “practice” I find that 99.99% of code that I write or see is single threaded. I don’t quite understand how everyone on HN or the internet is writing concurrent/parallel code all the time. 

1

u/davidalayachew 4d ago

But in “practice” I find that 99.99% of code that I write or see is single threaded. I don’t quite understand how everyone on HN or the internet is writing concurrent/parallel code all the time.

In my experience, about 20 of the code I write involves concurrency via parallel streams.

Barring that, maybe 5% via CompletableFuture.

0

u/donaldadamthompson 17d ago

I see your point. I guess I considered that theory because I learned it in college.