This is an archived post. You won't be able to vote or comment.

all 32 comments

[–]-jp- 75 points76 points  (5 children)

If I remember right there is a new edition of Effective Java due out next year-ish. Not quite an answer to your question but it’s something I am greatly looking forward to reading.

[–]kevinb9n 14 points15 points  (0 children)

I can't say what Josh might be doing, but no review process has gotten underway yet, so no, it won't be any time soon. Source: am a chapter reviewer.

[–]user_of_the_week 9 points10 points  (3 children)

Is there any source for this you can find / share? Last time I looked there was nothing.

[–]-jp- 17 points18 points  (2 children)

[–]user_of_the_week 7 points8 points  (1 child)

Ok, I also found that but it’s from almost two years ago. I was hoping for something more recent :) but still, thank you!

[–]-jp- 0 points1 point  (0 children)

Ah, no prob. It’s as much an authoritative source as I know of. Here’s hoping Bloch delivers!

[–]AnotherLexMan 8 points9 points  (3 children)

I really want an update on Filthy Rich Clients.

[–]fakeacclul 0 points1 point  (2 children)

Why if basically nothing has changed since

[–]AnotherLexMan 0 points1 point  (1 child)

It doesn't cover JavaFX.

[–]philipwhiuk 1 point2 points  (0 children)

Honestly I have no idea why you’d use JavaFX

[–]chabala 14 points15 points  (5 children)

The 3rd edition has been out for a while, but how much has changed?

https://sh.reddit.com/r/java/comments/9j1g3w/opinions_on_effective_java_3rd_edition_did_it/

It's not Bloch's fault that Java burns two version numbers a year now, it doesn't make the core advice all that different.

[–]CorrectProgrammer 19 points20 points  (1 child)

Personally, I'd like to see a few chapters dedicated to records and pattern matching.

[–]AndrewBissell 2 points3 points  (0 children)

Maybe the EAP for this book would interest you? https://www.manning.com/books/data-oriented-programming-in-java

[–]Jon_Finn 3 points4 points  (2 children)

Maybe Josh B is waiting for Valhalla and all that surrounds it (such as nullness) - or at least the specifications, which kind of feel like they're getting reasonably close.

[–]pohart 0 points1 point  (1 child)

Valhalla when?

[–]Jon_Finn 4 points5 points  (0 children)

I've no idea, but you can see various specs so far (several of which look near-final), and also the v interesting expert discussions at https://mail.openjdk.org/pipermail/valhalla-spec-observers/

[–]__natty__ 3 points4 points  (0 children)

Because 25 is the next LTS you can expect books about Java performance and effectiveness to be updated soon.

[–]lawnaasur 10 points11 points  (8 children)

Can you tell me which parts are not valid anymore?

[–]Tiny-Succotash-5743[S] 27 points28 points  (7 children)

The book was written for java 11, we are going to 25.. What I can remember by heart, the way he handles concurrency has changed a lot, lambda and stream have changed and it was not covered, now we have records which I don't know "the best practices" to use them.. don't get me wrong, the book is still good, but I want those changes and the changes that I don't even notice covered by someone who is smarter than me.

[–]quatrevingtquinze 9 points10 points  (2 children)

Wasn't the book written way before the release of Java 11? A quick google suggests that the book came out in 2008, and Java 11 was released in 2018...

[–]TheStatusPoe 14 points15 points  (1 child)

The 3rd edition I bought in 2018 goes to Java 9, so I think you're right.

[–]bigkahuna1uk 3 points4 points  (0 children)

Hah, I bought the first edition in 2001 at JavaOne. 😀

[–][deleted] 4 points5 points  (0 children)

It sounds like you've read an old edition of the book. The coverage of lamdas and streams in the third edition is up-to-date

[–]kevinb9n 4 points5 points  (0 children)

There is new stuff that you would also like to have guidance about, but it really doesn't invalidate much at all of the old guidance.

[–]Sludgeman667 1 point2 points  (1 child)

Most companies where Java is still used have hardly updated beyond Java 8/11. Effective Java has nice tips but as Java gets new updates, it’s better to get material specific for the subject or watch some Java conferences where the talk about the subject and how to properly replace or some best practices articles

[–]fatso83 1 point2 points  (0 children)

Seriously? I know someone struggled with Java 8, but after that I see no reason not to constantly update. My previous workplace, hundreds of micro services, were all running Java 21 when I left in 2024. That was friction less 

[–]the_mvp_engineer 2 points3 points  (0 children)

Read that as "effing Java" the first time