Cover of Effective Java

Effective Java

by Joshua Bloch · first published 2001

287mentions
172recommended by
243HN commenters
2007–2026first – last mentioned

71% recommend28% neutral1% critical

Why HN recommends it

Concrete, item-by-item guidance on writing idiomatic Java: immutability, designing for inheritance, avoiding finalizers, and library design. Suits intermediate developers who want to move past syntax to good style.

Summarised by Claude from recommending comments

Affiliate links. As an Amazon Associate I earn from qualifying purchases.

Mentions per year

300 2007: 2 mentions2008: 9 mentions2009: 6 mentions2010: 21 mentions2011: 20 mentions2012: 30 mentions2013: 17 mentions2014: 24 mentions2015: 15 mentions2016: 8 mentions2017: 12 mentions2018: 18 mentions2019: 12 mentions2020: 20 mentions2021: 15 mentions2022: 8 mentions2023: 14 mentions2024: 10 mentions2025: 9 mentions2026: 2 mentions200720172026

What Hacker News says

  • mahmud · Mar 26, 2012 · Recommends

    …something I flip through when facing particular problems, but generally I savor it (ended up selling my copy after my 2 year backpacking trip, back when I swore I'll never write software again .. oops!) Effective Java (C++) are practitioner lore. Their teachings have been subsumed by the language community and you can see it in code bases. My advice is to learn to use your favorite editor with a TAGS file, then go…

    on “Books Programmers Don't Really Read But Recommend” ↗
  • ganonm · Dec 18, 2017 · Recommends

    …methods (sort of can workaround this now get this now with default interface methods). Java is basically just a really un-opinionated language that requires careful practices to wield it properly (see Effective Java by Joshua Bloch) but other than that it isn't a completely terrible language and you can write some really robust, easy to read code with it. I would also have a lot more time for this article if the…

    on “A FactoryFactoryFactory in Production” ↗
  • martinced · Feb 26, 2013 · Recommends

    Oh the memories. It's not very well written but most advices are sound if you're stuck in that very particular Java / C# hell. The book "Effective Java" (from 2001) still has to one the "must read" for any Java programmer that didn't read it. In it Joshua Bloch has always been very clear, from the start, about all the deeply ingrained ugly Java warts…

    on “Object Oriented Design principles Java programmers should know” ↗
  • dcposch · Dec 8, 2014 · Recommends

    …http://hg.openjdk.java.net/jdk7/jdk7/jdk/file/00cd9dc3c2b5/s... But of course the Java standard library is immense and has a lot of cruft in it. To write clean Java you really need to avoid much of the standard library (read Effective Java by Josh Bloch) and add a few important missing parts (use Guava). Golang is really unique in that regard. You can learn Go by reading the standard library. It is beautiful, linear code. The library is…

    on “Interface Upgrades in Go” ↗
  • amit-bansil · Mar 29, 2015 · Recommends

    …peers'. My understanding of that pattern, however, is that the key is not letting some other object walk off with a reference to your peer, which is exactly what has gone wrong here. (Aside: Josh Bloch's Effective Java & Java Puzzlers are fantastic. They are worth reading for programmers who use any language.)

    on “My favorite bug: segfaults in Java” ↗
  • bdittmer · Nov 16, 2008 · Recommends

    …alone makes it a much more attractive platform to build apps on. The number of choices in terms of frameworks + no vendor lock in makes it a winner. If you're serious about learning it pick up a copy of Effective Java by Joshua Bloch -- by far the best general Java book out there.

    on “Ask HN : Which should I learn : C# or Java” ↗
  • acangiano · Jul 12, 2010 · Recommends

    Effective Java (2nd Edition) by Joshua Bloch: http://www.amazon.com/Effective-Java-2nd-Joshua-Bloch/dp/032... It's not for beginner Java programmers, but if you have experience in other similar programming languages…

    on “Ask HN: Good Java books for aspiring Clojurians?” ↗
  • guelo · Apr 12, 2011 · Recommends

    …have built over time best-practice guidelines for readability and avoiding common bugs. But I think Java's age and enterprisy culture have allowed it to evolve stronger guidelines (see Joshua Bloch's Effective Java), and it's limited flexibility make it easier to maintain. If you are in a highly competitive startup environment where break-neck execution for the next 6 months to a year is a matter of survival then…

    on “Once Again, Twitter Drops Ruby for Java” ↗
  • mahmud · Jul 30, 2011 · Recommends

    Hortsman & Cornell's, two volume "Core Java 1.2". I only read the first. Gosling's "The Java Programming Language". And Josh Bloch's "Effective Java". After that, Java Concurrency in Practice. Langr's "Agile Java" is good for just that. Bloch, Goetz, and Doug Lea have each written excellent books on java concurrency. That's just about all the…

    on “A few days of programming on iOS and Android illustrates a vast difference.” ↗
  • guelo · Sep 6, 2012 · Recommends

    It is too easy to write dense indecipherable code in Scala. Until someone at least comes up with an "Effective Scala" that is as complete as Josh Bloch's "Effective Java" at outlining the best practices for readability and maintainability, Scala will not be an acceptable replacement for Java in larger organizations.

    on “Why Java Developers Should Check Out Scala” ↗
  • javajosh · Sep 19, 2021 · Recommends

    Hmm. Great question. I've always liked Josh Bloch's "Effective Java" because it's targeted toward experienced programmers, and he expressed (correct) opinions about things like immutability. But the book is very old (2001). One way to get into it is to build something…

    on “Revisiting Java in 2021 – Part II” ↗
  • hello_moto · Nov 23, 2007 · Recommends

    Java is not the most loved language around here but check out the Java API. Some of the books you might want to read: 1) Code Complete (MS Press) 2) Effective Java/C++ (Joshua Bloch/Scott Meyers) 3) Design Patterns 4) Refactoring I don't know other books/library that can answer this question from other language (such as LISP, Python and Ruby)

    on “Ask YC: What is "quality" code?” ↗
  • strlen · Nov 24, 2010 · Recommends

    …Why, there's even a whole book on that: http://www.amazon.com/Interfaces-Implementations-Techniques-... Like Norvig's Paradigms of Artificial Intelligence: Case Studies in Common Lisp and Joshua Bloch's Effective Java, it's one of those books which despite having a specific programming language in the title, is really about programming in general.

    on “Armin Ronacher: Collections in C” ↗
  • sage_joch · May 7, 2011 · Recommends

    If you will be programming in Java, these books will serve you incredibly well: * Effective Java * Java Concurrency in Practice * Head First Design Patterns

    on “Ask HN: Books for soon to be Software Engineers” ↗
  • squidsoup · Jul 13, 2011 · Recommends

    In my experience most of the best Java learning resources are books - I got the most out of Joshua Bloch's Effective Java Second Edition which assumes some familiarity with the language. Bruce Eckel's Thinking in Java is an excellent introductory approach, particularly if you're new to OO, but you could probably give it…

    on “Ask HN: Modern Java tutorials?” ↗

Keyboard shortcuts

/
Focus search
j / k
Next / previous book
Enter
Open focused book
Esc
Close / go back
g h
Go to Home
g t
Go to Top all-time
g m
Go to Most recommended
g r
Go to Rising
g f
Go to For You
?
Show this help