
Enjoy fast, free delivery, exclusive deals, and award-winning movies & TV shows with Prime
Try Prime
and start saving today with fast, free delivery
Amazon Prime includes:
Fast, FREE Delivery is available to Prime members. To join, select "Try Amazon Prime and start saving today with Fast, FREE Delivery" below the Add to Cart button.
Amazon Prime members enjoy:- Cardmembers earn 5% Back at Amazon.com with a Prime Credit Card.
- Unlimited Free Two-Day Delivery
- Streaming of thousands of movies and TV shows with limited ads on Prime Video.
- A Kindle book to borrow for free each month - with no due dates
- Listen to over 2 million songs and hundreds of playlists
- Unlimited photo storage with anywhere access
Important: Your credit card will NOT be charged when you start your free trial or if you cancel during the trial period. If you're happy with Amazon Prime, do nothing. At the end of the free trial, your membership will automatically upgrade to a monthly membership.
Buy new:
-27% $29.28$29.28
Ships from: Amazon.com Sold by: Amazon.com
Save with Used - Good
$6.00$6.00
Ships from: Better World Books Sold by: Better World Books

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Follow the author
OK
Hardcore Java: Secrets of the Java Masters 1st Edition
Purchase options and add-ons
- Use of the final keyword to optimize and protect your Java classes.
- Complete and thorough coverage of all types of nested classes, including how to optimize anonymous and inner classes.
- Detailed discussion of immutable objects, including unique tips on when to use them (and when not to).
- Elimination of bugs through exception-handling management.
- In-depth studies of constants, including their impact on the Java memory model.
- The most thorough discussion of reflection in print, moving far beyond other books' "Hello World" coverage.
- Construction and use of dynamic proxies, in both Java Standard and Enterprise editions.
- Expansive coverage of weak references, including usage patterns and their role in garbage collection and memory management.
- ISBN-100596005687
- ISBN-13978-0596005689
- Edition1st
- PublisherO'Reilly Media
- Publication dateApril 20, 2004
- LanguageEnglish
- Dimensions7 x 0.85 x 9.19 inches
- Print length344 pages
Frequently purchased items with fast delivery
From the brand

-
Sharing the knowledge of experts
O'Reilly's mission is to change the world by sharing the knowledge of innovators. For over 40 years, we've inspired companies and individuals to do new things (and do them better) by providing the skills and understanding that are necessary for success.
Our customers are hungry to build the innovations that propel the world forward. And we help them do just that.
-
Your partner in learning
-
Bestsellers
-
Software Development
-
Programming Languages
-
AI / Machine Learning
-
Data Science
-
Data, Databases and more
-
Cloud Services
-
Business
-
Finance
-
Blockchain / Cryptocurrency
-
Security
-
Cookbooks
-
Head First series
-
97 Things series
-
Lean series
Editorial Reviews
Amazon.com Review
In addition to this book's tutorial function, Hardcore Java puts forth and defends a number of opinions about the design and style of Java software. One example: After explaining how bit fields work--bit fields aren't widely used in Java programming, and their advantages may be interesting to some programmers--Robert Simmons points out that they're inherently limited in their ability to contain data, and that this can cause problems. This is the kind of design tradeoff that more advanced Java programmers have to consider, and Simmons does the Java community a service by showing programmers how to think critically about the capabilities of their language. --David Wall
Topics covered: Advanced Java topics, including final constants, collections, exception handling, and nested classes. There's a useful bit about getting customers to help you design the data models they need, and very extensive coverage of reflection.
About the Author
Product details
- Publisher : O'Reilly Media
- Publication date : April 20, 2004
- Edition : 1st
- Language : English
- Print length : 344 pages
- ISBN-10 : 0596005687
- ISBN-13 : 978-0596005689
- Item Weight : 1.28 pounds
- Dimensions : 7 x 0.85 x 9.19 inches
- Best Sellers Rank: #4,105,381 in Books (See Top 100 in Books)
- #1,003 in Java Programming
- #1,417 in Software Design & Engineering
- #4,030 in Software Development (Books)
- Customer Reviews:
About the author

Discover more of the author’s books, see similar authors, read book recommendations and more.
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on AmazonCustomers say
Customers find the book readable, with one mentioning it's a weekend read. They consider it good value for money.
AI-generated from the text of customer reviews
Select to learn more
Customers find the book easy to read, with one mentioning it's a weekend read and another noting its cool writing style.
"...from c++ with some limited Java experience and this book is quite readable for me.(I'm only up to page 42, but understanding everything..) His code..." Read more
"...The author has a cool writing sytle and he really thinks he is a Java Guru. I am not saying that he is not...." Read more
"...It's easily a weekend read as well." Read more
"...On the up side, the book read fairly well. If you don't know Java and are fairly new to programming you might find the book helpful...." Read more
Customers find the book worth their time and money.
"...in java for less than a year or two I'm sure this book is worth your time." Read more
"...For it's price, it's not bad, it seems relatively cheap compared to many books on the subject. It's easily a weekend read as well." Read more
"Good book, however Java 5 features chapter needs to be extended, especially about generics, PECS pattern. Waiting for new edition!" Read more
Top reviews from the United States
There was a problem filtering reviews. Please reload the page.
- Reviewed in the United States on March 26, 2004The author makes the point in the preface that this book is intended for an intermediate to advanced audience. I'm coming from c++ with some limited Java experience and this book is quite readable for me.(I'm only up to page 42, but understanding everything..) His code examples are well done. I think the value of this book is in all the little gotchas you might otherwise have to learn about at the debug stage.
Funny how many of the subtle issues from c++ show up in java, only manifesting themselves somewhat differently. This book has stuff from jdk 1.4 like assert and shows how to take advantage of it. Simmons exhibits techniques that make for more elegant, less redundant code. If you've been programming in java for less than a year or two I'm sure this book is worth your time.
- Reviewed in the United States on October 29, 2004I purchased a copy of this book a couple of months ago and was fortunate to obtain a more recent printing than the earlier reviewers probably had. There were still some errors and typos of various levels of severity, but quite a few fewer than the earlier printings. This, together with the O'Reilly errata page for the book and a small bit of work on my part involving the use of scissors and a glue stick, gave me a book which has become very useful to me at work. Hopefully, even more recent printings will be even better.
These annoyances aside, I am very happy with the book and what I was able to learn from it.
- Reviewed in the United States on September 4, 2021best refund.
- Reviewed in the United States on May 5, 2004This book is not for intermediate to advanced Java programmers. It is for novices to intermediate programmers. The first "hardcore" thing the author declares is:
public static void someMethod(Vector source) {
Vector target = source;
target.add("Swing");
}
He states that someone could think that source vector is being copied to the target vector, so that the source vector is not being modified. If you thought about this method as something more or less challenging, so by this book.
All the chapter about the final keyword is just very, very boring. "Use final to avoid typos!" Ok. Thanks a lot!
Every developer, like every reader, is different, so maybe you will like this book. The author has a cool writing sytle and he really thinks he is a Java Guru. I am not saying that he is not. He probably is an awesome Java professional. But in my opinion, using the keyword final to avoid typos is not an indication of a hardcore developer.
Maybe the chapters about Reflection, Proxies and References have something really interesting and advanced, but I hate to skip pages in a book.
The first 4 chapters could be easily summarized in 4 paragraphs. There is nothing challenging or advanced there.
Favor interfaces over implementations. Never use HashMap mymap = new HashMap(). Instead use Map mymap = new HashMap().
If you don't know why the above is a good practice, so by this book. Otherwise read something more challenging like Game Developing in Java and learn how to build a scalable game server framework with Java NIO. (read my comments about this book)
- Reviewed in the United States on May 28, 2004The title "Hardcore Java" is definitely overkill. A better one may be "Stuff a new Java developer might not know yet".
This book is full is little nuggets of "oh, good idea" and "oh, I never knew that". But don't expect to be a guru after reading it by any means. Lean towards 'Effective Java Programming Language Guide' for a thorough, advanced discussion of the Java language.
For it's price, it's not bad, it seems relatively cheap compared to many books on the subject. It's easily a weekend read as well.
- Reviewed in the United States on May 10, 2010If you are serious about developing a mindset to becoming a better programmer, this is a very good book. To profit from it one has to actively engage with the ideas and material presented. No cookbook here.
It is truly unfortunate that so many reviews are so disparaging; it may be the reviewers were looking for a cookbook approach, and that of course is not what this book is about.
If you are prepared to learn, this book has a lot to teach.
- Reviewed in the United States on November 26, 2017Good book, however Java 5 features chapter needs to be extended, especially about generics, PECS pattern. Waiting for new edition!
- Reviewed in the United States on April 30, 2004This book should be required reading for anyone who calls themselves a Java programmer. The idea behind the book is to re-introduce engineers to the entire flavor of the Java language.
Chapter one shows basic language elements like short-circuited if statements. Chapter two covers using the final keyword. Chapter six is an excellent introduction to using inner classes. This is one of the best chapters in the book.
Chapter eight is a very interesting combination of a theoretical discussion on data modeling and a hardcore technical discussion on object modeling. The chapter ends with a brief bit about JDO.
Chapter nine is a short but nice coverage of reflection. Chapter eleven is a great, and I mean great, introduction to weak and strong references.
The book finishes with an introduction to Tiget (JDK 1.5), mainly in the area of generics. It's a solid introduction, but it's short.
This is a great book. It's a must read for Java programmers.
Top reviews from other countries
- Manish KumarReviewed in India on September 12, 2014
5.0 out of 5 stars Loved it...
Amazing collection of real world programming solutions, explained lucidly with good examples. A juicy read for intermediate to advanced level java developers.
-
SuseReviewed in Germany on April 14, 2012
5.0 out of 5 stars O'Reilly - gewohnt sehr gut.
Ich habe mir dieses Buch für mein Studium geholt, da ich mit Java vorher eher selten was zu tun hatte, aber bereits Basiskenntnisse habe. Hardcore Java ist eher etwas für Fortgeschrittene Programmierer, die sich bereits etwas mit der Java Syntax beschäfigt haben. Auch sollte man sich vor kauf des Buches Informieren, ob es die Inhalte hat, die man erwartet.
Trotz englischer Sprache leicht verständlich, übersichtlich und konkret.
Mein nächster Kauf wird sicherlich wieder ein O'Reilly Buch sein.
-
GabrielReviewed in Germany on November 8, 2020
4.0 out of 5 stars Gutes Buch für Menschen die Java bereits können
Wie schon im Titel erwähnt, das Buch ist für Developer bzw. Programmierer, die die Sprache bereits beherrschen. Ich fand aber der Style in dem das Buch geschrieben wurde ganz gut. Empfehle ich falls Sie Java-Kenntnisse haben.
- hertzsprungReviewed in the United Kingdom on May 12, 2005
4.0 out of 5 stars Some excellent material, but not all is 'hardcore'
This book presents some of the more arcane things you can do with Java, including esoteric uses of nested classes; this was a real eye-opener for me. While such things may not be particularly useful, other chapters present ways of programming defensively, using the final keyword and exception mechanisms (to be honest, I don't consider these topics to be particularly `hardcore').
Some chapters, including design modelling, seemed out of place in this book, and I certainly wouldn't consider these to be advanced topics.
However, overall this book has made me rethink how I write Java, and I recommend it to anyone that thinks they know the language.
-
BrunswickReviewed in Germany on February 24, 2013
3.0 out of 5 stars Nicht schlecht, aber verdient ein kleines Update
Nachdem ich diverse Einführungsbücher gewälzt habe, bin ich über den Titel gestolpert. Und muß sagen, er ließt sich recht gut. Es werden diverse Sachen erklärt, die in Einführungsbüchern einfach fehlen. Es wird unter anderem das Schlüsselwort "final" ausführlich erklärt, was für Probleme auftreten können bei finalen Objekten die das Interface Serialize implementieren: es gibt auf einmal 2 finale identische Objekte zur gleichen Zeit in der JVM :-) wenn man nicht aufpasst. Das Kapitel über Datenmodelierung habe ich einfach übersprungen. Ich habe selber jahrelange Erfahrung in Softwareentwicklung und brauche niemanden der mir das auch noch neben bei erklärt. Java Reflections war wieder nett aber irgendwie habe ich da irgendwo den Faden verloren. Proxies war auch so ein Thema, da gibt es auch Titel die das besser erklären. Corba? Benutzt das jemand heute noch? Dann wird es wieder interessant mit der Reference Konzept und den Memory-Leaks in Java. Dabei geht es nicht um Pointer sondern um Komponeneten die sich gegenseitigt referenzieren und beim beenden nicht freigeben. Und dann noch ein Kapitel über JDK 1.5. Also insgesamt ein gutes Buch aber nach heutigen Stand braucht es ein kleines Update und so 2 bis 3 Kapitel sind in anderen Büchern besser aufgehoben. Deshalb leider 3 Punkte. Sonst hätte ich gerne 4 bis 5 Punkte gegeben.