Programming Books C Java PHP Python Learn more Browse Programming Books
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more

Server-Side Programming Techniques (Java(TM) Performance and Scalability, Volume 1) Paperback


Amazon Price New from Used from Collectible from
Paperback
"Please retry"
$17.09 $0.01 $8.36

Customers Who Viewed This Item Also Viewed

NO_CONTENT_IN_FEATURE

Shop the new tech.book(store)
New! Introducing the tech.book(store), a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now

Product Details

  • Series: Java Performance and Scalability (Book 1)
  • Paperback: 320 pages
  • Publisher: Addison-Wesley Professional; 1st edition (June 2, 2000)
  • Language: English
  • ISBN-10: 0201704293
  • ISBN-13: 978-0201704297
  • Product Dimensions: 9.2 x 7.4 x 0.7 inches
  • Shipping Weight: 1.1 pounds
  • Average Customer Review: 3.6 out of 5 stars  See all reviews (19 customer reviews)
  • Amazon Best Sellers Rank: #2,904,944 in Books (See Top 100 in Books)

Editorial Reviews

Amazon.com Review

Written for the working programmer who wants to get more speed out of Java, Java Performance and Scalability, Volume 1 bundles several dozen tips for faster and smaller Java code. Backed up by benchmarks of what works and what doesn't, this book provides essential wisdom for eliminating some common bottlenecks to Java performance.

The 48 optimizations for various aspects of the Java API make up the heart of this text. Early sections look at a particularly tricky subject--string processing--giving you several techniques for increasing speed and reducing object creation. The in-depth examination of the costs and benefits of string concatenation and the immutability of Java String objects will help you uncover possible hot spots that cause lagging performance with strings.

Subsequent sections look at more general strategies for faster programs, like purging obsolete code, and the well-known 80-20 rule (optimizing the 20 percent of your code that consumes 80 percent of processing time, allowing you to create faster software; this book shows you how). Short tips on such APIs as Java collections and the Java Native Interface (JNI) come next.

The second half of the book zeros in on better server-side performance with tips on caching and file I/O. The guide to multithreading and synchronization is a standout here. You'll get several smart tips for speeding up servlets, such as precomputing your standard strings for headers and other boilerplate HTML. The book closes with a valuable custom class for JDBC database connection pooling and a custom HTTP server. Both samples make use of the techniques presented earlier in the text. Even if you don't adopt every suggestion, the ideas here can get you thinking about performance in new ways. (One of the main points of this book is that you can write faster custom code, instead of always relying on built-in Java classes and APIs.)

Clearly, Java performance is not something that happens by accident; it must be engineered into your code. This compilation of useful techniques and tips deserves a close look by anyone who wants to squeeze more performance out of Java. --Richard Dragan

Topics covered:

  • Introduction to Java performance
  • More efficient Java string handling (optimizing String, StringBuffer, and StringTokenizer objects)
  • Reducing Java overhead
  • Faster initialization
  • The 80-20 rule for optimization
  • Getting rid of obsolete code
  • Speeding up the JDK 1.1 Vector and Hashtable collection classes
  • Caching techniques
  • Optimizing file I/O and buffering
  • Object recycling and object pools
  • Techniques for multithreading and synchronization
  • Amdahl's law and scalability basics
  • Pros and cons of using the Java Native Interface (JNI)
  • Hints for optimizing Remote Invocation Method (RIM) calls
  • Performance hints for servlets and JavaServer Pages (JSPs)
  • Custom sample code for JDBC database connection pooling and a Java HTTP server

From the Inside Flap

Performance has been one of the dominant concerns hovering around Java from its infancy. Regardless of an order of magnitude speedup resulting from just-in-time (JIT) compilers, HotSpot, and other advances in JVM technology, the performance issue is still a legitimate concern. The reality facing Java programmers is that it is very easy to write slow Java programs. Java is a performance mine field and expert guidance is a must.

Given the importance of performance to Java developers, it is somewhat surprising that no book has been dedicated to this important topic. Almost any other Java-related issue has had multiple books dedicated to it--RMI, JNI, JDBC, threads, networking, and the list goes on. Conspicuously absent has been Java performance. It has been mentioned in passing by many authors but, to my knowledge, rarely has there been more than a chapter discussing it. This book is aiming to fill that gaping hole. It is entirely focused on Java performance issues from start to finish.

This book is written for Java programmers by a Java programmer. This is an important fact. It is very likely that the Java performance issues that I have dealt with in my code will surface in your code as well. The Java optimization techniques that you will find here will significantly elevate the performance and scalability of your Java programs.

There's plenty of material to cover. Let's get started.

0201704293P04062001


More About the Author

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

3.6 out of 5 stars
Share your thoughts with other customers

Most Helpful Customer Reviews

49 of 51 people found the following review helpful By Joshua Engel on June 7, 2000
Format: Paperback
I was very skeptical when I picked up this book, because most authors on Java performance don't seem to have actually tested their theories. Dov Bulka, however, has included charts demonstrating actual performance gains. He's also shown how some kinds of purported optimizations _don't_ have a measurable effect, which is an excellent way of knowing what to avoid.
The author never compromises software engineering or program correctness in the pursuit of performance. His suggestions are practical and applicable to a wide variety of programs. The book is also well-written, clear, and a joy to read.
As the subtitle says, it's primarily about server-side processing. It's not going to tell you how to scroll tables faster, nor is it going to tell you to use a quicksort instead of a bubble sort. Still, every Java programmer should know how this author goes about working with Java performance, because it's a great framework for making improvements.
The book claims to be volume 1. I'm really looking forward to volume 2.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
21 of 23 people found the following review helpful By Vincent O'Sullivan on July 24, 2000
Format: Paperback
Books on how to write code in Java are ten-a-penny now. Until a new version of java comes out, we don't really need anymore. What we do need though, are more books like this.
If anyone using Java across a network, using either servlets or EJBs, there is a dearth of information. There are a couple of excellent goods on how to get going but little opportunity to broaden the scope once the basics of these technologies have been covered.
This book is a very welcome addition to the Java Server-side bibliography. The information on optimisation and increasing efficiency of communication contains a lot I haven't come across elsewhere.
For anyone who already has a copy of (for example) 'Inside Servlets' or 'Mastering EJBs', this is an extremely useful volume for consolidating the skills gained from them.
Java has an often justified reputation for being slow but often it is the result of its not being applied in the best way. The demonstrations of how to optimise code (and to quantify those benefits) make this book an invaluble weapon for advanced and serious developers.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
15 of 18 people found the following review helpful By Gary Zuo on August 16, 2000
Format: Paperback
It's only worth spending an hour or so browsing.
Most tricks are well known to experienced Java developers, such as using StringBuffer instead of String. And the book is too rambling. You can easily cut the pages in half. Often chunks of code is repeated with just a method name change, e.g. from println() to print().
Although it's claimed to be "Server-Side", it's really weak in that area. Sections on RMI and serialization are trivial and not to the point. The chapter on Servlet is not convincing.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
21 of 27 people found the following review helpful By Darth Vader on August 6, 2000
Format: Paperback
Since Java is now a widely used server side programming language, especially for web-based development, I thought this book would discuss strategies and patterns used for writing scalable Java based servers. However, most of the book talks about tricks on how to speed up simple routines for gains in milliseconds. It has no particular applicability to server side development. The author went as far as rewriting standard Java utility libraries for performance gain. I like the Java programming language because it is simple (rapid development) and easy to read (communication). If performance is that important, where I had to rewrite standard libraries, I would use C++ for the job instead. This book spends only a few pages on true server side development relevant topics such as connection pooling and n-tier development. Also, there is nothing on J2EE stuff which includes critical tools and framework for Java server side development (EJB, JMS, ...). Overall, this book really does not have much to do with server side development. I suggest you to save your money. I am returning my copy.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
7 of 8 people found the following review helpful By Ben Kruger on September 7, 2000
Format: Paperback Verified Purchase
This is one of those books that reiterates what a good programmer allready knows. If you are looking for easy reading and reinforcement on ways to code for performance than pick it up. It is NOT a waste of money.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
4 of 4 people found the following review helpful By "solucus" on October 5, 2001
Format: Paperback
This book covers the basics of improving the performance of server side java programs by writing different java statements. I like the fact that it had just the answers, not excessive amounts of padding. I especially liked the chapter on taking an existing, well written java program that was a web server, and optimising it in several stages. The stages were consistent with the optimisations discussed in the preceding chapters which helped put it those chapters into context nicely. The optimisations turned a good web server written in Java into a much faster one, which was good to see.
I describe this as a "basic" book on optimisation because the chapter on RMI was rather light, presumably because of the 80:20 rule wereby the biggest gains can be had with the simplest of coding changes. Going into more detail would have made the book thicker so perhaps it was best it was left as it was. There is perhaps an opportunity for someone to write an "advanced" version at some later stage.
I'd recommend this book to someone who is an experienced java programmer who wants to make their java programs run quicker. I certainly found it useful in my own java programs.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Product Images from Customers

Most Recent Customer Reviews

Search
ARRAY(0xa5c948a0)