Rating:  Summary: performance checklist Review: "Java Performance Tuning" by Jack Shirazi has written a fairly comprehensive account on Java performance problems. The book is geared towards a programmer with medium level of experience with Java technology, it requires familiarity with basic Java techniques and with basic understanding of JVM design. For experienced programmer, most of the material mentioned will be familiar, just by virtue of programming in Java for a few years one will encounter most of the problems outlined.Mr. Shirazi starts with outlining the profiling strategies and basic available tools. From that he proceeds towards topics in object creation, GC, string manipulation, exceptions, loops , I/O, threading models, caching strategies, distributed computing, and some very brief mention of the underlying OS issues. Most of the material states the problem (which is almost always the most important part), tells you how to identify it, and sketches a few solutions. It is not a programming recipe book by any stretch of imagination. Hope is that as one will read the book, he/she will think about performance up front and will become a better programmer as the result. Arguably, what the book fails to explain is JVM and Java internals, which will provide an insight on why things happen the way they happen. I would appreciate more coverage on available performance benchmarks (which are only briefly mentioned), and/or on how to write a good performance testing case for each of the optimizations outlined.
Rating:  Summary: performance checklist Review: "Java Performance Tuning" by Jack Shirazi has written a fairly comprehensive account on Java performance problems. The book is geared towards a programmer with medium level of experience with Java technology, it requires familiarity with basic Java techniques and with basic understanding of JVM design. For experienced programmer, most of the material mentioned will be familiar, just by virtue of programming in Java for a few years one will encounter most of the problems outlined. Mr. Shirazi starts with outlining the profiling strategies and basic available tools. From that he proceeds towards topics in object creation, GC, string manipulation, exceptions, loops , I/O, threading models, caching strategies, distributed computing, and some very brief mention of the underlying OS issues. Most of the material states the problem (which is almost always the most important part), tells you how to identify it, and sketches a few solutions. It is not a programming recipe book by any stretch of imagination. Hope is that as one will read the book, he/she will think about performance up front and will become a better programmer as the result. Arguably, what the book fails to explain is JVM and Java internals, which will provide an insight on why things happen the way they happen. I would appreciate more coverage on available performance benchmarks (which are only briefly mentioned), and/or on how to write a good performance testing case for each of the optimizations outlined.
Rating:  Summary: Disappointing book ! Review: A disappointing book. Not useful for large enterprise application development. No design/programming patterns are provided for optimization. I found only a few pages here and there useful and practical. Not worth buying.
Rating:  Summary: Very Disappointed Review: I am very disappointed to find out that this book has only one page talking about JDBC and database related issue. Java has been used mostly in commerce applications whose performance is greatly depending on database design, JDBC, stored procedures, etc...
Rating:  Summary: Criticisms invalid Review: I fail to understand the prior critical messages. One said that the author didn't present an accurate description of Reference objects. Well, the description starting on page 108 matches the one I was given by Sun in their performance workshop I attended in Mountain View. So I guess Sun does not know what they are doing in terms of Reference objects :). Another message claimed that this book was not useful for enterprise applications. To the contrary, I was very impressed with the way he covered the actual process of doing performance analysis, he didn't just present a bunch of individual tips. Many people neglect this in enterprise development - they spend a bunch of time eyeballing the code and trying to do some quick fixes when they really need to set up a harness and do some serious testing.
Rating:  Summary: A Must Read for the Serious Java Developer Review: I found this book most rewarding; it covers many aspect of performance tuning Java for applications, and it does so in a well-written, clear and orderly fashion. The author starts by covering the fundamentals of performance measuring and tuning, reiterating and reinforcing what is already known to the serious programmer but most likely overlooked by the novice. The other half of the book proceeds to dissect the behavior of Java application and the JVM in order to gain insights into the tuning process and the to be avoided pitfalls. The items covered here are crucial to developing robust and effective java programs, especially for those writing infrastructure and server like applications. For the novice, the ordered scientific approach to demystify the myths of Java performance and the concise advice given is more than welcomed. As for the experienced developer, the second half of the books deals with those issues of real concern: threading and distributed computing Overall I found the book to be enlightening and I certainly recommend. For those with deep interest in java performance I recommend a complementing book: Java Performance and Scalability, Volume 1: Server-Side Programming Techniques by Dov Bulka.
Rating:  Summary: Even the demo chapters have obvious errors Review: I havn't actually bought this book, but I was doing a web search the other day for information on Soft and Weak References, and it just so happens that there is a sidebar in the online Chapter 4 that "explains" how they work which I found. Unfortunately the explanation of Reference objects is _completely_ wrong, the author obviously has no idea how Reference objects work. Given such a shoddy effort in this case, I certainly would doubt the accuracy of the rest of the book.
Rating:  Summary: The pick of the crop Review: I notice that this book got the best review in John Zukowski's comparative review of Java performance books in Javaworld.
Rating:  Summary: Disagree with an earlier review Review: I'll state up front I'm a friend of the author, so this is partisan. I completely disagree on a point of fact with the earlier "culturally interresting but professionnally almost useless" review by an anonymous reader. He states that he resumes the book with 'could resume this book by..."don't code in Java, do it directly in C"'. But that is the exact opposite of what is in the book. At no point does Jack ever suggest that
you would be better off doing it in C. Quite the opposite, Jack even shows that you can get your application in Java to be faster than the equivalent C program. How you could have read the book and come away saying the exact opposite of what it says is beyond me!
Rating:  Summary: Awesome ! Written by the hard-core hacker and researcher Review: I'm still reading the book but I can already see that this title is one of the best in "Java Performance" area. I can go even further - this title seems to be one of the best Java books I've ever read. The author is a serious Java developer (geek, hacker, whatever you call it) who's going nuts to achieve a better performance for his applications (he even keeps his loops going from N to 0 - it's a bit faster than going from 0 to N). While most other people may advise you to use a profiler (and Jack is doing this too, of course) he's actually implementing a couple of mini-profilers by himself. The depth he covers the material is probably the deepest you can meet today - unfortunately, not so many authors are even trying to cover all necessary details, but if Jack is going to talk about something - you're going to hear almost everything you'll ever need (if "Java Platform Performance: Strategies and Tactics" authors are only mentioning optimizing compilers - Jack is explaining what are they, what are they doing, how are they doing it, what are consequences to what they're doing .. you get me). Personally, I wouldn't agree with everything he offers (and I'll never replace any String class, Jack!), but this books is still a highly valuable source of optimization and performance tuning information. I can't recommend it more. Jack is also maintaining a Web-site (javaperformancetuning.com) full of excellent information and articles reviews. Frankly, if it's not in his book or Web-site - I believe it simply doesn't exist. Boy, he's so good. Please, excuse me for a personal bias in this review - I couldn't keep myself from applauding to Jack. Excellent work, man. P.S. A special "thank you" goes to using checklists at the end of every chapter and on the site - I'm a big fan of checklists and never understood authors ignoring such a simple but powerful technique.
|