| help | account  


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)


FREE Shipping on Orders over $40!*
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:

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.



Forgot your password?
FAQs
Shipping Options
Returns
Your Orders
Your Account