Hardcore Java View Larger Image | Robert Simmons O'Reilly Media, Paperback, Published March 2004, 324 pages, ISBN 0596005687 | List Price: $39.95 Our Price: $24.95 You Save: $15.00 (38% Off)
| | | Availability: Out-Of-Stock |
Customer Reviews: 2 Average Customer Rating:      Write a Review and tell the world about this title! People who purchase this book frequently purchase: - Eclipse IDE Pocket Guide; Ed Burnette, $6.95, 30% Off!
- Java in a Nutshell, 5th Edition; David Flanagan, $28.50, 37% Off!
- Java Generics and Collections; Maurice Naftalin, et al, $21.95, 37% Off!
- Java Threads, 3rd Edition; Scott Oaks, et al, $24.95, 38% Off!
Books on similar topics, in best-seller order:Books from the same publisher, in best-seller order:
There is a huge difference between writing code that compiles and runs and
writing code that is robust, extensible, maintainable, readable, and just plain
elegant. And it's that difference that distinguishes a master Java developer
from just a good developer. Becoming a master programmer takes hard work, patience
and, usually, an expert who will take the time to teach you how to understand
and use the most difficult concepts in the language.
But what if your goal is Java wizardry, and you don't have an available expert
willing to take you under wing? Don't despair. You can rely on Hardcore Java
to transform your Java skills from competent to sublime. Hardcore Java
distills years of experience into a concise, but generous, compendium of java
guru expertise. It reveals the difficult and rarely understood secrets of Java
that true master programmers need to know.
Written for the working Java developer, Hardcore Java focuses on the
set of APIs you must use to create standalone applications. This indispensable
resource explores in detail the advanced, powerful aspects of application design
and programming that will make every line of your code count.
Hardcore Java is an advanced book that focuses on the little-touched
but critical parts of the Java programming language that expert programmers
use. We're not talking about trivial things; we're talking about difficult but
extremely powerful and useful programming techniques like reflection, advanced
data modeling, advanced GUI design, and advanced aspects of JDO, EJB and XML-based
web clients. This unique book reveals the true wizardry behind the complex and
often-mysterious Java environment.
Table of Contents
Preface
1. Java in Review
Core Concepts
Syntax Issues
Access Issues
Common Mistakes
2. The Final Story
Final Constants
Final Variables
Final Parameters
Final Collections
Instance-Scoped Variables
Final Classes
Final Methods
Conditional Compilation
Using final as a Coding Standard
3. Immutable Types
Fundamentals
Immutable Problems
Immutable or Not
4. Collections
Collection Concepts
Implementations
Choosing a Collection Type
Iterating Collections
Collection Gotchas
5. Exceptional Code
Two Types of Exceptions
When to Use Exceptions
Finally for Closure
Exceptional Traps
6. Nested Classes
Inner Classes
Limited-Scope Inner Classes
Static Nested Classes
Double Nested Classes
Nested Classes in Interfaces?
Nested Interfaces
Nested Class Rules
7. All About Constants
Substitution Constants
Bit Fields
Option Constants
Constant Objects
Constant Encapsulation
8. Data Modeling
The Requirements Document
Natural Language Modeling
Aspects of Well-Designed Data Models
Reusable Data Constraints
Persistence
9. Practical Reflection
The Basics
Reflection and Greater Reflection
Applying Reflection to MutableObject
Performance of Reflection
Reflection + JUnit = Stable Code
10. Proxies
What Is a Proxy?
Two Kinds of Proxies
Proxy Gotchas
11. References in Four Flavors
The Problem
Java Reference Concepts
The Java Reference Classes
Practical Applications
A Weak Listener
When to Use References
12. Tiger: JDK 1.5
New Language Features
Generics
Other Improvements in Tiger
Index
Customer Reviews
Customer Reviews: 2 Average Customer Rating:      Dec 6, 2004     Senior Java Programmer from Minneapolis, USA Excellent Java reference Excellent book suitable for both the intermediate and advanced Java programmer. Even some entusiastic and serious beginner programmer would be greatly benefited reading this book, since it contains a great collection of tips and bug preventing coding practices. This is the second copy of the book I got, the first one I purchased for my company reference bookshelf, which by the way I manage to keep in my desk for a long time since I couldn't let it go. The second copy I got from my local Java Users Group. The author does a great job introducing advanced topics from an entry point level which would help a beginner programmer to quickly follow through without feeling overwelmed. An example of this is the first chapter "Java in Review", which some advanced programmer would probably feel tempted to skip... big mistake. Despite the title, this chapter is rich in core concepts that will refresh your knowledge while helping the reader to get the feeling of how the author will manage the rest of the book. Topics as "Chaning Constructors" and "Initialization" are described with a quick yet effective approach. Examples and code snippets are just right, without the commonly found bulk of full code found in other books. The code goes to the point without distracting the reader with "plumbing" details. The way the material in this book is organized makes it easy to use it as a reference or a read through book. Beware, if you start reading a chapter, you will have a hard time putting it down since pretty much every topic would provide you with tips and techniques you will want to implement as soon as you go back to your desk. Finals, Immutable Types and References are very interesting chapters, since usually these are topics that are not covered in depth by other entry level or intermediate books. Finally, the author has has made a very smart move including a whole chapter describing the new features shipped with JDK 1.5 which definetely would ensure you will reach for this book as soon as you start your migration. This is a book every Java programmer should have in his/her bookshelf.
May 11, 2004     Gordon A. Dickens, Jr. from West Chester, PA A Must-Have for Serious Java Developers This book is full of excellent detailed performance and design information on Java. The best description of performance implications of collections I've seen.
The first chapter is a good overview of concepts that are useful if you have been using older versions of the JDK and is worth skimming through if you are working more closely to JDK1.4. My favorite section is the discussion on "Assertions versus exceptions", this section describes the pros and cons of using assertions over exceptions and logical reasons for when not to use them.
Chapter two is entirely dedicated to the keyword "final". Prior to this book I hadn't thought much beyond using it for the usual constants, final class and final methods declarations. Robert takes it beyond that and offers some very valuable performance techniques for everyday development. After reading this chapter, I had to fight the urge to go back to my old code and start dropping "final"s everywhere.
The third chapter discusses immutable types and provides more performance improving goodness.
The collections chapter starts out with useful design tips when using collection classes in your api. The chapter then divides the two collection types Map and Collection and discusses each of their respective subclasses providing criteria for selecting the appropriate class for your needs with valuable performance insight. I nearly wore a highlighter and pen out making notes along side of each page in this chapter.
Chapter five focusses on exceptions. A good review of the types of exceptions, and useful information on balancing between underarchitected and overarchitected custom exception classes.
I have not used nested classes in my development experience, so I was curiously optimistic about chapter 6, wondering if I was missing anything spectacular. This chapter provides some valuable information on using anonymous classes, but unless you are doing java gui, the inner classes will not often be a part of your applications. This chapter wraps up with a useful chart on nested class types and rules for use.
Constants in chapter seven reviews standard substitution constants and provides a useful architecture for creating and implementing a constant class manager. This manager provides an object oriented approach to handling sets of constants while improving performance. This really was a eye opener for me, I really never thought of an OO approach to defining and using constants, not to mention the promise of better performance.
Chapter eight discusses data modeling from requirements - object model - data model - jdo. I found this chapter a bit of the same old good stuff for the most part (you may very well gain a lot from this chapter). In general pretty good information, just not as hard hitting as the first few chapters in terms of hardcore content.
Reflection is an important concept to understand. In chapter nine, reflection concepts are introduced and the Robert discusses their value in the context of Junit testing.
The proxy chapter is a good overview of proxies and their use, but I wouldn't consider it having the same impact as the previous chapters. Useful review, but more indepth coverage could have been provided.
Back to the hardhitting stuff in Chapter Eleven - References. This chapter makes you think and think again, I had to reread this one. This chapter discusses object references in memory, garbage collection, memory leaks in Java and using "weak" references. The chapter provides very indepth technical information on the different reference types and how they are typically handled by the JVM.
The book wraps up nicely with the last chapter providing a good overview of the features of JDK 1.5 codename "Tiger".
Overall this book is very valuable providing a lot of indepth coverage of features used in everyday development. The book delivers a lot of useful performance information and design tips. Although there are a couple of chapters that bring the cerebral aspect down to more of an informational level, the majority of the content is immensely valuable. I buy a lot of books and this one was worth the investment.
|