 |
Effective Java (2nd Edition) by Joshua Bloch
Book Summary InformationAuthor: Joshua Bloch Edition: Paperback Audio: English (Unknown); English (Original Language); English (Published) Published: 2008-05-28 ISBN: 0321356683 Number of pages: 346 Publisher: Addison-Wesley Product features: - ISBN13: 9780321356680
- Condition: New
- Notes: BRAND NEW FROM PUBLISHER! 100% Satisfaction Guarantee. Tracking provided on most orders. Buy with Confidence! Millions of books sold!
Accessories:
Book Reviews of Effective Java (2nd Edition)Book Review: Java craftmanship vs java correctness Summary: 3 Stars
Relatively strong in the language of java, it is a craft knowledge book. One will generally find most of the recommendations correct. I like this book, but find the book fails in the meta process area.
It fails in three areas.
The first is the key weakness...
1) It is too weak on the process of confirming the correctness of java. Snippets of craft knowledge applied to the APIs, is not as necessary as the process of confirming the java code performs as expected. It gives craft knowledge, but not the knowledge to develop one's own craft.
- The most important thing a book like this can do is to teach a developer how to think about effective java programming. Metaprocess not just examples.
- How to profile correctly and tie these to the results of at least one example would be excellent. Many programmers reading the book, don't know how to confirm the effectiveness of their own code. Explaining in detail how to confirm the examples with the profiler would make this a five ***** item.
- It doesn't cover how to use static analysis tools and how to customize them for yourself or your shop. For example, avoiding finalize to release resources can be detected by a custom checker as a shop standard. Many static analysis tools can automatically (or can be made to) check code patterns.
Basically, a "my approach to effective java" chapter would help of how the author comes to this knowledge and confirms it.
These next two are nit's on the book's topic...
2) Java in it's environment could be better explained and the properties that affect the execution. It doesn't clearly explain how some SUN API's are very property setting dependent. Understanding the intentionality of an API property and finding the correct value for properties is essential. General practices require deeper knowledge of the API's (e.g. such as SUN's RMIs large number of unofficially documented garbage collection settings see [...] ). There are limits of java portability and some edgy API's get programmers into trouble. Knowing what and how to tradeoff architectural decisions in selecting an API or language construct is useful.
Further some of these recommendations are affected by the gc and heap settings. Some types of JVMs (SUN's 1.4 had IMP) have differences that change the recommended practice.
3) Use of certain packages over others (e.g. nio (Java 7 nio2)) and what the purpose of these packages are could be explained better. How performance and file transfers are improved with non-blocking io.
Finally, I note java always consists at least these two tasks developing correctly and searching for the correct API to use. Those following this book may believe that the coding correctly is sufficient.
Afterword. I do like this book, but it doesn't make me think using this (JB) author's mental process. Improve by explaining the process of discovering effective java and incorporating it in practice, and this book becomes essential. It's a choice of giving programming pearls versus teaching one how to find programming pearls of wisdom. (I like both, but a bit more of the latter.)
Effective practice performs at least the following functions:
- Defect Tracking - identify critical failures affecting system performance (bugzilla)
- Profiling - determine resource usage and performance of running software components over time (dynamic analysis) and ensure memory leaks aren't occurring
- Network Analysis - (for programs with networking) determine network component and communication failures and packet timing (e.g. wireshark)
- Logging - monitor the logged events in the system for trends and failures (log4j)
- Debugging - trace the execution of code in development to ascertain correct behavior (eclipse)
- Instrumentation - monitor (in a limited fashion) the software and hardware components in production (e.g. SNMP in the Java 6 JVM)
- Static Analysis - analyze (automated or walkthrough) the code for defects prior to running (e.g. Findbugs, checkstyle or better PMD)
- Compilation - analyze the compiler output (WERROR)
- Database Statistics - analyze the database (or file) statistics and access path to stored data (e.g. explain plan, top 10 lists)
- Code management (e.g. subversion or better mylin)
Thanks
Joe
Summary of Effective Java (2nd Edition) Are you looking for a deeper understanding of the Java? programming language so that you can write code that is clearer, more correct, more robust, and more reusable? Look no further! Effective Java?, 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 of the classic, Jolt Award-winning work has been thoroughly updated to cover Java SE 5 and Java SE 6 features introduced since the first edition. Bloch explores new design patterns and language idioms, showing you how to make the most of features ranging from generics to enums, annotations to autoboxing. Each chapter in the book consists of several ?items? presented in the form of a short, standalone essay that provides specific advice, insight into Java platform subtleties, and outstanding code examples. The comprehensive descriptions and explanations for each item illuminate what to do, what not to do, and why. Highlights include: -
New coverage of generics, enums, annotations, autoboxing, the for-each loop, varargs, concurrency utilities, and much more -
Updated techniques and best practices on classic topics, including objects, classes, libraries, methods, and serialization -
How to avoid the traps and pitfalls of commonly misunderstood subtleties of the language -
Focus on the language and its most fundamental libraries: java.lang, java.util, and, to a lesser extent, java.util.concurrent and java.io Simply put, Effective Java?, Second Edition, presents the most practical, authoritative guidelines available for writing efficient, well-designed programs.
Java Books
|
 |
|
|
Clean Code: A Handbook of Agile Software Craftsmanshipby Robert C. Martin Prentice Hall; Published: 2008-08-11; Paperback; BookBest price: $32.89Price in other shops: $49.99
Refactoring: Improving the Design of Existing Codeby Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts Addison-Wesley Professional; Published: 1999-07-08; Hardcover; BookBest price: $25.00Price in other shops: $64.99
Java Performanceby Charlie Hunt, Binu John Prentice Hall; Published: 2011-10-14; Paperback; BookBest price: $40.97Price in other shops: $59.99
Design Patterns: Elements of Reusable Object-Oriented Softwareby Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides Addison-Wesley Professional; Published: 1994-11-10; Hardcover; BookBest price: $35.45Price in other shops: $59.99
The Pragmatic Programmer: From Journeyman to Masterby Andrew Hunt, David Thomas Addison-Wesley Professional; Published: 1999-10-30; Paperback; BookBest price: $35.60Price in other shops: $49.99
Core Java?, Volume I--Fundamentals (8th Edition)by Cay S. Horstmann, Gary Cornell Prentice Hall; Published: 2007-09-21; Paperback; BookBest price: $21.59Price in other shops: $59.99
Head First Design Patternsby Elisabeth Freeman, Eric Freeman, Bert Bates, Kathy Sierra, Elisabeth Robson O'Reilly Media; Published: 2004-11-01; Paperback; BookBest price: $24.00Price in other shops: $49.99
Java Concurrency in Practiceby Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, Doug Lea Addison-Wesley Professional; Published: 2006-05-19; Paperback; BookBest price: $27.99Price in other shops: $59.99
Java The Complete Reference, 8th Editionby Herbert Schildt McGraw-Hill Osborne Media; Published: 2011-06-22; Paperback; BookBest price: $27.44Price in other shops: $60.00
Head First Java, 2nd Editionby Kathy Sierra, Bert Bates, Bert Bates O'Reilly Media; Published: 2005-02-16; Paperback; BookBest price: $24.50Price in other shops: $44.95
|