Skip to content
Paperback Effective Java Book

ISBN: 0321356683

ISBN13: 9780321356680

Effective Java

Select Format

Select Condition ThriftBooks Help Icon

Recommended

Format: Paperback

Condition: Good

$5.09
Save $30.38!
List Price $35.47
Only 10 Left

Book Overview

Are you looking for a deeper understanding of the Java(TM) programming language so that you can write code that is clearer, more correct, more robust, and more reusable? Look no further Effective Java(TM), Second Edition, brings together seventy-eight indispensable programmer's rules of thumb: working, best-practice solutions for the programming challenges you encounter every day. This highly anticipated new edition...

Customer Reviews

4 ratings

A powerful update to an already-classic title

Please see my review of the first edition for my general response. My opinion hasn't changed with the second, so I'll focus on what's new in this review. The second edition was well worth the wait. The number of items are beefed up to 78 from 57. The chapter "Substitutes for C Constructs" is gone, but replaced by more contemporary material on "Generics" and "Enums and Annotations." Some first edition items have been amended to address features new to Java since the first edition was released. Some new items also address concurrency, favoring it over traditional Java threads. As expected, the cases for each item are methodically and persuaisvely made. If you are particularly interested in concurrency, also consider Java Concurrency in Practice. The item discussions use boldface liberally to highlight key points, sometimes calling attention to arguments in the first edition that have been updated. If you're skimming -- the author in fact doesn't encourage cover-to-cover reading -- these highlights are useful attractors to important material you might otherwise gloss. It's often helpful to have practices or insights you've earned on your own backed up by a reputable authority. Effective Java certainly helps with that. More importantly, the arguments that support his items are clear, easy to read, and compelling. Anyone proficient with Java would have to go a long way to find fault with them. In fact, it took considerable investigation to determine that one item from the first edition -- "Provide a readResolve method when necessary" -- was not the best advice for some cases. Bloch addresses that issue head-on in this edition, and provides its replacement ("For instance control, prefer enum types to readResolve"). As with the first edition, this one is a necessity for any serious Java developer.

Says what it does, does what it says.

I like books that underpromise in their titles and overdeliver in their contents. This book has 57 items of programming advice that are not only well-chosen, but also reveal a clear, deep grasp of the language. Each one is justified with practical illustrations of what can happen if you only apply do-it-yourself intuition or, more likely, the most direct path to a solution.Joshua Bloch is cited by several sources as a math prodigy and an accomplished researcher. None of that high-octane stuff affects this book. The prose style is simple and practical. The author never strains to detail a complex or abstract tangent. For example, his piece on random number generation (under Item 30, "Know and Use the Libraries"), raises a whole slew of "interesting" questions, but he stays on point (trust the library to do work you don't know needs doing). He avoids proving his assertions when a demonstration will suffice, so the book stays short and focussed.Many of these points were review material for me, but I gained from Bloch's discussions nonetheless. As often as not, I preferred his reasoning over ones I have relied on; Bloch's just feels better rooted. And, in a world of high-stress schedules and moving-target projects, it's refreshing to hear someone with heavy concerns of his own preach the Good Word on better programming.This book will strengthen your understanding of Java. It will confirm the things you've been doing right all along, and politely show you how you could do better. It might also give you a way to move people who wouldn't listen to broken-record you, but would listen to a smart stranger who says the same thing. ;)

This is what you need to know to become a Java guru!

This book contains a generous cross-section of the knowledge that differentiates Java gurus from advanced Java programmers.I've been working full-time in Java since 1995, prior to version 1.0. I've also written books and articles on Java and have been teaching Java at the University level as a sideline for four years. In that time I've accumulated a great deal of "expert" knowledge about the language, the JVM, and the APIs and developed opinions on the best approaches to use in Java. At this point, reading books such as this that contain a collection of tips and advice I am usually satisfied to gain one new piece of knowledge; I learned at least six new things from this book.Of the 50+ books on Java I've read, this book contains by far the most comprehensive and useful collection of that hard-won knowledge of core Java. The bonus is the clear and concise manner in which it is presented.Bloch is dead-on. There isn't a single factual error or piece of bad advice in the book. The most I came up with were a couple of omissions on some of the topics. However, omissions are inevitable given the technical depth of some of the topics Bloch covers, such as serialization, exceptions and threads.I offer only two caveats about the book. The first is that the book is for advanced Java programmers. This is not to say that this information is not useful to every Java programmer, but you need to have a comprehensive knowledge of Java in order to appreciate many of the topics. This book does not provide comprehensive coverage, but rather fills in the detail and subtleties. I teach a Java IV class and recommend this to my students as additional reading after completing the class.The other caveat is that this book is written from the perspective of writing public APIs. Bloch is the lead architect for the core JDK APIs where the classes and APIs have special security considerations. Several pieces of advice he gives apply absolutely to a public API where you want to defend the API from malicious code. However, if the code you are creating is intended for a less hostile and more trusting environment, fully following all of his advice will result in unnecessarily complex code. The one knock I give to the book is that Bloch does not delineate the circumstances that would dictate following his rather rigorous approach to bullet-proofing an API and can leave the reader with the mistaken perception that the advice applies equally to all categories of code.Overall, this is absolutely a must-have book for the experienced Java programmer. Even if you are not yet an advanced Java programmer, buy this book and keep revisiting it as you advance until everything in the book makes sense to you.

A Must Read For All Java Developers

So you've been a Java Developer since Day One. Or you've just decided to become one. Either way this book is a must read. Object Oriented programming takes a certain skill and understanding, and Josh Bloch's book addresses a number of Java programming idioms that most people don't pay enough attention to. I know I've certainly violated a number of the rules or suggestions made in this book.The book is easy to read through, and can be used as a reference book as well as a learning guide. The top Java people around participated in its review, and if James Gosling stands up at a JavaOne keynote and recommends this book (which he did), that's enough to make me sit up and pay attention.Get it. Read it. Use it. You won't regret it.
Copyright © 2023 Thriftbooks.com Terms of Use | Privacy Policy | Do Not Sell/Share My Personal Information | Cookie Policy | Cookie Preferences | Accessibility Statement
ThriftBooks® and the ThriftBooks® logo are registered trademarks of Thrift Books Global, LLC
GoDaddy Verified and Secured