Join Amazon Prime and ship Two-Day for free and Overnight for $3.99. Already a member? Sign in.

 

or
Sign in to turn on 1-Click ordering.
 
 
More Buying Choices
47 used & new from $0.67

Have one to sell? Sell yours here
 
   
Bitter Java
 
 
Tell the Publisher!
I’d like to read this book on Kindle

Don’t have a Kindle? Get yours here.
 
  

Bitter Java (Paperback)

by Bruce Tate (Author)
3.7 out of 5 stars See all reviews (43 customer reviews)

List Price: $44.95
Price: $34.16 & this item ships for FREE with Super Saver Shipping. Details
You Save: $10.79 (24%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.

Only 1 left in stock--order soon (more on the way).

Want it delivered Friday, July 17? Choose One-Day Shipping at checkout. Details
22 new from $10.00 25 used from $0.67

Frequently Bought Together

Bitter Java + Bitter EJB + Better, Faster, Lighter Java
Price For All Three: $93.83

Show availability and shipping details

  • This item: Bitter Java by Bruce Tate

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • Bitter EJB by Bruce Tate

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • Better, Faster, Lighter Java by Bruce Tate

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details


Customers Who Bought This Item Also Bought

Effective Java (2nd Edition) (Java Series)

Effective Java (2nd Edition) (Java Series)

by Joshua Bloch
4.9 out of 5 stars (35)  $44.63
Better, Faster, Lighter Java

Better, Faster, Lighter Java

by Bruce Tate
3.9 out of 5 stars (31)  $25.51
Java Concurrency in Practice

Java Concurrency in Practice

by Brian Goetz
4.8 out of 5 stars (59)  $37.79
Pro Java EE 5 Performance Management and Optimization

Pro Java EE 5 Performance Management and Optimization

by Steven Haines
5.0 out of 5 stars (2)  $51.99
Effective Java: Programming Language Guide (Java Series)

Effective Java: Programming Language Guide (Java Series)

by Joshua Bloch
4.8 out of 5 stars (122)  $44.40
Explore similar items

Editorial Reviews

Review
"!!!! Exceptional" -- Today's Books

"A superbly presented guide...an essential, core addition to the Java user's reference shelf collection." -- Wisconsin Bookwatch

"At last we have a book that tackles the problems rather than pretending there are none." -- CVu, the Journal of the ACCU

"Does a great job of articulating a philosophical foundation on which good architects and programmers can build." -- JavaPro Magazine

"It is the rare computer science book that truly captivates me....I just couldn't put Bitter Java down." -- Skip McCormick, co-author of Anti-patterns

"Packed with useful design tips and techniques for the serious Java server-side developer. . . . read it many times." -- VisualBuilder

"Save big bucks by reading this book instead of hiring a consultant." -- CompuNotes

"Will leave you with an instinctive sense for the antipatterns . . . so you can keep your Java brewing smooth and sweet." -- SitePoint Tech Times

Product Description
It is a well-known fact that most software projects fail. Drawing important lessons from failure is the goal of Bitter Java, a systematic account of common server-side Java programming mistakes, their causes and solutions. This book covers antipatterns for base Java and J2EE concepts such as Servlets, JSPs, EJBs, enterprise connection models, and scalability. It illustrates common pitfalls of Java programming through code examples and then presents re-factored code and explains why the new solutions are safe.

Written in an engaging style, this book begins each chapter with an extreme sports adventure gone wrong, and cunningly weaves the moral of the story into the discussion of Java development problems. Bitter Java begins with an overview of antipatterns and lays the foundation for server-side Java development. The author quickly builds momentum with a set of core server-side antipatterns for servlets and JSPs. He uses a bulletin board example to discuss common mistakes in basic server-side design, and iteratively refactors it until he reaches good design. By reusing this example, the author guides the reader through increasingly complex antipatterns of caching, database connections and EJBs. High-level discussions of programming hygiene and performance tuning, complete with related antipatterns, help to round out the coverage.

The intermediate developer is the intended reader of this book but developers at all levels will gain insight from the discussions of basic design patterns for Java JSP programming, round tripping, the perils of ignoring caching and connection pooling. More advanced topics such as performance tuning, EJB and XML are also included.

See all Editorial Reviews


Product Details

  • Paperback: 368 pages
  • Publisher: Manning Publications; illustrated edition edition (April 2002)
  • Language: English
  • ISBN-10: 193011043X
  • ISBN-13: 978-1930110434
  • Product Dimensions: 9.2 x 7.5 x 0.9 inches
  • Shipping Weight: 1.3 pounds (View shipping rates and policies)
  • Average Customer Review: 3.7 out of 5 stars See all reviews (43 customer reviews)
  • Amazon.com Sales Rank: #839,802 in Books (See Bestsellers in Books)

Look Inside This Book


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
Check the boxes next to the tags you consider relevant or enter your own tags in the field below.
(4)

Your tags: Add your first tag
 
Help others find this product — tag it for Amazon search
No one has tagged this product for Amazon search yet. Why not be the first to suggest a search for which it should appear?

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

 

Customer Reviews

43 Reviews
5 star:
 (18)
4 star:
 (9)
3 star:
 (2)
2 star:
 (11)
1 star:
 (3)
 
 
 
 
 
Average Customer Review
3.7 out of 5 stars (43 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

 
31 of 32 people found the following review helpful:
5.0 out of 5 stars Excellent Book - Full of Java Server-side techniques, April 29, 2002
This book is all about learning lessons from common Java server-side development failures. It is aimed at intermediate java developers that have a basic understanding of design patterns.

Bitter Java is all about applications and examples of antipatterns and refactoring. It is about finding a problem and then going through the various solutions (continuous improvement).

We found the relationship between the first two examples ("Magic Pushbutton" and "Magic Servlet") very interesting. The author has a good method of explaining the problems to new Java developers. The first solution included the command and MVC design pattern.
It is refreshing to read a book that comments on techniques included from Jakarta Struts.

Problems addressed in this book include:
· Monolithic Servlets and JSPs
· Caching dynamic content
· Memory leaks
· Database connection overuse
· XML misuse
· EJB Round-tripping
· Entity bean misuse
· Lack of coding standard
· Performance tuning

This is one of those books that you will want to read from beginning to end. We found the many personal stories before each key topic very enjoyable to read. Web page references are used throughout the text (mostly from IBM's web site). This book is packed with useful design tips and techniques for the serious Java server-side developer. Go and buy this book because you will want to read it many times.

Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
24 of 27 people found the following review helpful:
2.0 out of 5 stars Nice Try, but I was disappointed, April 1, 2003
By A Customer
I had high hopes for this book based on an endorsement from a friend of mine. What I found was this book, while presenting some minimally useful information was peppered with errors and generally poor.

The good points: the author is a fairly good writer, presenting technical information in a semi-interesting fashion. If you don't know what MVC is, or the Command pattern, there is some useful information here (read the caveats below).

The bad points: what good information is here is better presented in many other design patterns books. The book's information is really for junior level people and yet is so full of errors (and uncompilable code!) that it is likely to be frustrating to just such a beginner. Be prepared for coding errors such as:

public Integer i = 0;

If you don't know why this is wrong, get a well edited book. What's more, the author borrows liberally from freely available code out on the web (good) but can't even reformat the code to be consistent with his own (bad, bad, bad!). So you are treated to at least a half dozen different code formatting peculiarities during the code examples. As well, he is inconsistent about how he presents code, in some cases presenting a whole class, in other cases just a snippet without any context of how it might be employed in a class (again, a problem for the target audience).

Frankly don't get this book unless you've already tried some of the better books out there like:

Design Patterns
by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides

or

one of the many Java design patterns books (I won't recommend one in particular, since I've only skimmed them, not read any straight through).

Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
14 of 15 people found the following review helpful:
5.0 out of 5 stars Learn from others' mistakes, April 19, 2002
By Juntao Yuan (Austin, TX United States) - See all my reviews
(REAL NAME)   
"I like learning from my mistakes ..., but I would much rather learn from your mistakes." -- Bruce Tate, "Bitter Java", page 313.

If design patterns are success stories, anti-patterns are lessons you can learn from other people's failures. Consultants like Bruce Tate make money to support his Kayak hobby by identifying anti-patterns in customer projects and offering valuable advices to refactor them. Now, he has offered his advices for all of us for [$] in Manning's new book "Bitter Java" (ISBN 193011043X).

So, what exactly are anti-patterns? Are they only relevant to software architects? Now, consider the following questions:

Do you know that Java applications might have memory leaks too? Have you written 500 line servlets or JSP pages? Do you notice that your container managed EJBs cannot scale when the load is high? If any of the answers is "yes", Java anti-patterns might be more relevant to you than you think.

This book avoids discussing anti-pattern in academic terms. Instead, it gives a real world server side Java application that an inexperienced developer is likely to write and then refactors it all the way through various anti-patterns to a scalable, maintainable solution. Tate not only teaches you the anti-patterns you encounter, he also gives a valuable example on the software development process to refactor an poorly written existing application.

The author uses extensive real world code examples throughout the book to explain the problems and why we should avoid them. Like all other Manning books, the code examples are well commented and annotated in the main text. Although the anti-pattern examples in the book are mainly in the context of J2EE application servers, the author has done a good job to generalize the problems and illustrate how they might appear in other Java applications. Anti-patterns such as memory leak, synchronized cache read/write and round tripping can have negative impacts on a big range of Java applications.

The author is very good at comparing the relative merits of different approaches, technologies and patterns. There are numerous comparison tables throughout the article and they are great resources for readers who just want a quick summary of what to do/what not to do in a given circumstance. Examples of those helpful tables include the different EJB types comparison on page 241 and the all anti-patterns listing at the end of the book.

In general it is a great book well worth the time and money for all Java developers, especially if you are working on J2EE projects. Of course, there are also things that could be improved.

1. While I liked the kayak stories, some people might find them distracting. However, those side line stories are well separated from the main content using italic fonts. So, this is really not a problem.

2. In chapter 8, I wish the author could talk more about the trade-offs between performance and code maintainability in CMP (Container Managed Perssistency) EJBs. He could also talk a bit about JDO (Java Data Objects), which is a lightweight entity bean alternative.

3. In chapter 3 and 4, the author mentioned that Jakarta Strut's "action" is essentially his "command" pattern. But since Strut is such a popular tool, it would still be nice to give examples on how to use Strut to achieve MVC model along with the "command" pattern example.

Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)


Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews

1.0 out of 5 stars A Joke?
Bruce Tate tried to make learning Java more fun. He failed miserable. What is this? A novel? A sports book? Read more
Published on May 11, 2005 by Simon Russo

3.0 out of 5 stars Good But Could Have Been Better
I'm mixed on this one. This books attempts to present refactoring in a way that inexperienced developers can understand. In that respect, I think the author delivers. Read more
Published on December 4, 2004 by KeepItSimple

1.0 out of 5 stars Absolute Rubbish
The author himself is one of the reviewers who gave this book 5 stars. That made me wonder if others who think highly of this book are somehow related to Mr. Tate. Read more
Published on January 3, 2004

2.0 out of 5 stars Good for beginning developers
This book is well written but I was expected something more advanced. If you have been a real J2EE developer for at least a year, you would probably have run across some if not... Read more
Published on November 26, 2003 by Michael A. Klem

4.0 out of 5 stars Good java anti-patterns book
good sections on the ejb and web tier with common anti-patterns illustrated. however most materials are introductory and i was hoping for more advanced techniques and advice to... Read more
Published on April 1, 2003 by Winston Koh

2.0 out of 5 stars Not bad, but very basic
Not a bad book really ...
... if you never did (server side) programming. Or had some
other decent education including topics like caching,
modularisation,... Read more
Published on December 2, 2002 by K. Victor Volle

3.0 out of 5 stars Probiotic Java
Tate is trying to make a boring subject more fun.
You've seen that pattern before.

While not being the first one, he's definitely the first I've seen tying a story on bad... Read more

Published on November 21, 2002 by Thomas Olausson

4.0 out of 5 stars great book
this is a really well written book, is a fun read, and offers a lot of bad programming examples. you'll enjoy it (really-you will).
Published on October 17, 2002 by Tobi McFarland

1.0 out of 5 stars What a waste of time
Thank heavens I didn't buy the book, but only read the PDF version. I have no idea why the author goes on and on and on about his (supposedly fascinating) love of extreme sports... Read more
Published on September 30, 2002

2.0 out of 5 stars Get the free PDF version if you really want to read it
Don't bother buying the hard copy of this book. The so-called
antipatterns in this book are too simple for anybody who has
at least some common senses in using... Read more
Published on August 15, 2002 by juncoyoung

Only search this product's reviews



Customer Discussions

 Beta (What's this?)
New! See all customer communities, and bookmark your communities to keep track of them.
This product's forum (0 discussions)
  Discussion Replies Latest Post
  No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
  [Cancel]


Active discussions in related forums
   


Product Information from the Amapedia Community

Beta (What's this?)



Look for Similar Items by Category


Up to 30% Off Lansinoh

Up to 30% Off Lansinoh
This July, enjoy savings of up to 30% on select Lansinoh products offered by Amazon.com. Lansinoh is dedicated to providing breastfeeding solutions.

Learn more

 

Big Savings in Books

Bargain Books
Find great titles at fantastic prices in our Bargain Books Store.
 

Buy Three Books, Get a Fourth Free

4-for-3 Books
Order any four eligible books under $10 and get the lowest-price book free in our 4-for-3 Books Store. See more details.
 

Fimco Industries

Shop for Fimco products
Fimco manufactures sprayers and agricultural equipment ideal for lawn and garden protection.

Shop all Fimco products

 

 

Feedback

If you need help or have a question for Customer Service, contact us.
 Would you like to update product info or give feedback on images?
Is there any other feedback you would like to provide?

Your comments can help make our site better for everyone.


Where's My Stuff?

Shipping & Returns

Need Help?

Your Recent History

  (What's this?)
You have no recently viewed items or searches.

After viewing product detail pages or search results, look here to find an easy way to navigate back to pages you are interested in.

Look to the right column to find helpful suggestions for your shopping session.

Continue shopping: Top Sellers
Free
Free by Chris Anderson
Paranoia
Paranoia by Joseph Finder
My Soul to Lose
My Soul to Lose by Rachel Vincent
Glenn Beck's Common Sense

Conditions of Use | Privacy Notice © 1996-2009, Amazon.com, Inc. or its affiliates