$34.08 with 73 percent savings
List Price: $123.95

The List Price is the suggested retail price of a new product as provided by a manufacturer, supplier, or seller. Except for books, Amazon will display a List Price if the product was purchased by customers on Amazon or offered by other retailers at or above the List Price in at least the past 90 days. List prices may not necessarily reflect the product's prevailing market price.
Learn more
$3.99 delivery Monday, August 19. Details
Or fastest delivery August 13 - 16. Details
Only 1 left in stock - order soon.
$$34.08 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$34.08
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Ships from
Konak Media
Ships from
Konak Media
Sold by
Sold by
Returns
30-day refund/replacement
30-day refund/replacement
This item can be returned in its original condition for a full refund or replacement within 30 days of receipt. You may receive a partial or no refund on used, damaged or materially different returns.
Returns
30-day refund/replacement
This item can be returned in its original condition for a full refund or replacement within 30 days of receipt. You may receive a partial or no refund on used, damaged or materially different returns.
Payment
Secure transaction
Your transaction is secure
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
Payment
Secure transaction
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
Kindle app logo image

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.

QR code to download the Kindle App

Follow the author

Something went wrong. Please try your request again later.

Garbage Collection: Algorithms for Automatic Dynamic Memory Management 1st Edition

4.0 4.0 out of 5 stars 17 ratings

{"desktop_buybox_group_1":[{"displayPrice":"$34.08","priceAmount":34.08,"currencySymbol":"$","integerValue":"34","decimalSeparator":".","fractionalValue":"08","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"lPB861oVyfvcSzMsQGJ4lmAbG%2FKSiikEROMYd6gk2zbRm%2F9HXPgIRg9EKITvrYQS10%2BPaPa4kKyMfi9OIpe%2FB4LUqUCvjuP6e3m8bxQvfeEETf0RpsJ1TavSdO%2Bs2CNjcaGMCxDz6U1dCy81jqIFn8AxqX0%2B2Z7c%2FVL%2Fw%2B7kAW0%3D","locale":"en-US","buyingOptionType":"NEW","aapiBuyingOptionIndex":0}]}

Purchase options and add-ons

Modern software places increasing reliance on dynamic memory allocation, but its direct management is not only notoriously error-prone. Garbage collection eliminates many of these bugs. This reference presents each of the most important algorithms in detail, often with illustrations of its characteristic features and animations of its use.

Amazon First Reads | Editors' picks at exclusive prices

Editorial Reviews

From the Inside Flap

The memory storage requirements of complex programs are extremely difficult to manage correctly by hand. A single error may lead to indeterminate and inexplicable program crashes. Worse still, failures are often unrepeatable and may surface only long after the program has been delivered to the customer. The eradication of memory errors typically consumes a substantial amount of development time. And yet the answer is relatively easy - garbage collection; removing the clutter of memory management from module interfaces, which then frees the programmer to concentrate on the problem at hand rather than low-level book-keeping details. For this reason, most modern object-oriented languages such as Smalltalk, Eiffel, Java and Dylan, are supported by garbage collection. Garbage collecting, libraries are even available for such uncooperative languages as C and C++. This book considers how dynamic memory can be recycled automatically to guarantee error-free memory management. There is an abundant but disparate literature on the subject, largely confined to research papers. This book sets out to pool this experience in a single accessible and unified framework. Visit this book's companion Website for updates, revisions, online gc resources, bibliography and links to more gc sites 'Whatever else Java has accomplished, it has finally brought garbage collection into the mainstream. The efficiency and correctness of garbage collection algorithms is henceforth going to be of concern to hundreds of thousands of programmers; those who really care about this could do no better than to start with Garbage Collection: Algorithms for Automatic Dynamic Memory Management... the sort of comprehensive engineering manual that is so rare in computing.' Dr Dobb's Journal

From the Back Cover

The memory storage requirements of complex programs are extremely difficult to manage correctly by hand. A single error may lead to indeterminate and inexplicable program crashes. Worse still, failures are often unrepeatable and may surface only long after the program has been delivered to the customer. The eradication of memory errors typically consumes a substantial amount of development time. And yet the answer is relatively easy - garbage collection; removing the clutter of memory management from module interfaces, which then frees the programmer to concentrate on the problem at hand rather than low-level book-keeping details. For this reason, most modern object-oriented languages such as Smalltalk, Eiffel, Java and Dylan, are supported by garbage collection. Garbage collecting, libraries are even available for such uncooperative languages as C and C++. This book considers how dynamic memory can be recycled automatically to guarantee error-free memory management. There is an abundant but disparate literature on the subject, largely confined to research papers. This book sets out to pool this experience in a single accessible and unified framework. Visit this book's companion Website for updates, revisions, online gc resources, bibliography and links to more gc sites 'Whatever else Java has accomplished, it has finally brought garbage collection into the mainstream. The efficiency and correctness of garbage collection algorithms is henceforth going to be of concern to hundreds of thousands of programmers; those who really care about this could do no better than to start with Garbage Collection: Algorithms for Automatic Dynamic Memory Management... the sort of comprehensive engineering manual that is so rare in computing.' Dr Dobb's Journal

Product details

  • Publisher ‏ : ‎ Wiley; 1st edition (August 16, 1996)
  • Language ‏ : ‎ English
  • Hardcover ‏ : ‎ 404 pages
  • ISBN-10 ‏ : ‎ 0471941484
  • ISBN-13 ‏ : ‎ 978-0471941484
  • Item Weight ‏ : ‎ 2.06 pounds
  • Dimensions ‏ : ‎ 7.74 x 1.15 x 9.41 inches
  • Customer Reviews:
    4.0 4.0 out of 5 stars 17 ratings

About the author

Follow authors to get new release updates, plus improved recommendations.
Richard Jones
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

Richard is Professor of Computer Systems in the School of Computing at the University of Kent, Canterbury. He received a B.A. in Mathematics from Oxford University in 1976. He spent a few years teaching at school and college before returning to higher education at the University of Kent, where he has remained ever since, receiving an M.Sc. in Computer Science in 1989. In 1998 Richard co-founded the ACM/SIGPLAN International Symposium on Memory Management, of which he was the inaugural Programme Chair. He has published numerous papers on garbage collection, heap visualisation and electronic publishing, and he regularly sits on the programme committees of leading international conferences. He is a member of the Editorial Board of the journal Software Practice and Experience (Wiley). He was made an Honorary Fellow of the University of Glasgow in 2005 in recognition of his research and scholarship in dynamic memory management, and a Distinguished Scientist of the ACM in 2006.

Richard is the prime author of Garbage Collection: Algorithms for Automatic Dynamic Memory Management, Wiley, 1996. Garbage Collection is the process of automatically recycling unused memory. It is an essential component of all modern programming languages. Since its publication, the book has received huge acclaim:

"The sort of comprehensive engineering manual that is so rare in computing", Gregory V. Wilson, Dr. Dobb's Journal, September, 1997.

"I like the book because of its high standards of scholarship. I put it alongside Knuth's series", Mario Wolzko, Distinguished Engineer, Sun Microsystems Laboratories.

The 1996 book continues to be an excellent introduction to the topic. However, the state of the art has moved on considerably since 1996, and problems that were once considered impossible have now been conquered. Richard was joined by Dr. Tony Hosking (Purdue University) and Prof. Eliot Moss (University of Massachusetts) to write the Garbage Collection Handbook: the Art of Automatic Memory Management, Chapman and Hall, 2011. This book addresses the state of the art. In particular, it covers topics such as parallel, concurrent and real-time garbage collection. It also considers the trickier aspects of implementation such as the interface with the run-time system and support for language-specific features.

The first book (400 pages) took one person 2 years to plan, and 2 years to write. Tony and Richard first hatched the plan for a new book in 2002. A contract was signed with Chapman and Hall in 2007 but the new book (500+ pages) took the three of us more than 3 years to write. I am deeply grateful to my wife Robbie for putting with me while I wrote, and doing so not once but twice!

Richard is married, with three children. In his spare time, he races Dart 18 catamarans.

Customer reviews

4 out of 5 stars
17 global ratings

Top reviews from the United States

Reviewed in the United States on December 23, 2011
This is the most thorough and readable tract I could have imagined on the complicated subject of GC. It has an excellent introductory chapter, then a survey chapter on the different algorithms, then some in-depth chapters on each algorithm and their many variants, trade-offs, and histories, all copiously referenced to scholarly literature, and each wrapped up with issues to be considered, and then goes on to special topics, such as concurrency. It uses no particular computer language to describe the details of its algorithms, preferring pseudo-code, which I think is a major benefit. It was easier to me to see what was going on without all of the baggage of language syntax. Every term is defined clearly, and there is a good index and glossary. I can't overstate how well-written it is from a purely English point of view.

While it has had a few minor updates from its original 1996 publication, I would have liked to see a much more extensive refresh. At the time it was published, garbage collection was not mainstream. Java was very new, so the examples, references, and studies refer almost exclusively to functional languages such as Lisp and ML (which require GC to be usable), and to antiquated hardware. Everything in the book is still as relevant now as it was in 1996 (meaning the final draft was probably submitted in 1995, if not earlier), but with Java and .NET in ascendance for over 10 years now, and 64-bit multicore processors with *megabytes* of L2 and even L3 cache now in mainstream personal computers, it would have been even better for me if there were more attention to concurrency now that it is the norm. I could probably count on one hand the number of times the x86 (let alone the x86-64) was mentioned. Scholarly publications on GC did not end in 1996 either.

In conclusion, this is a must-read if one is looking for a well-written, very solid basis in the options for algorithms for GC and the trade-offs of each. The authors spoiled me. They did such a great job laying out the results of so much research for me up to 1996, it just made me wish they could take me all the way to the cutting edge of variants and studies as nicely. The bright side, though, is that after reading this book, I have I've been able to understand anything I've found online since, be it scholarly papers, reference manuals, etc. on this topic, so it succeeded in what I wanted it to do when I ordered it.
2 people found this helpful
Report
Reviewed in the United States on January 8, 2001
I wanted to know about the generational algorithm that Java is now using. The book was pretty clear about how things work. I haven't read the whole book but what I've seen is very encouraging. The first few chapters are a broad overview and then you can dive into the particular algorithm you are interested in.
9 people found this helpful
Report
Reviewed in the United States on December 12, 2013
I think this book is not for an average programmer or developer, it is intendend much more for system programmers. By average I mean that the topic of garbage collection is highly a specialized matter, which is not a daily problem solving activity performed by developers who are involved, for example, in application design and/or development.
I considered this book for my doctoral thesis. It is a dense technically oriented written book, but maybe the only one out there that covers garbage collection extensively with classic algorithms included.
I wished that the pseudo language used somewhat be improved to be more easily to understand. Most of the time it's really difficult to follow. Improvements would be welcome in this respect.
2 people found this helpful
Report
Reviewed in the United States on March 22, 2003
Garbage collection is a very interesting and complicated topic. To understand different garbage collection algorithms, one has to go through various research papers published over last 30 years or read the simplified descriptions presented in Java site and Bill Venners artima.com. This book does an excellent job in putting together all these algorithms in a logical order that gives us a chance to understand the different challenges sceintists and programming language authors faced and how the algorithms evolved over the time. The book starts with basic overview and history of commonly known algorithms: Reference counting, Mark and Sweep, and Copying algorithms. It then elaborates each of these algorithms, enumerates their pros and cons, and presents imporvements done by different researchers. After this, the book moves on to advanced algorithms like Generational algorithm and concurrent mark and sweep algorithm. I recommend this book to anyone interested in garbage collection. I haven't seen any other book on this topic. Even for programmers who mostly don't have to worry about GC as it is "automatically" done, this is a good book to understand and appreciate what goes on behind the scenes. Also, knowledge of the concepts in this book will be invaluable in performance tuning.
23 people found this helpful
Report
Reviewed in the United States on January 18, 2007
I'd bought this book for personal reading. Even though I'm not directly into GC algos, I found this book amazingly lucid to read and follow. It has thorough coverage of all the GC algos I've heard of till date.

It goes about explaining the algos with a very broad level view, then goes a little deep, then deeper, so its very easy to follow, and the reader can decide to what extent (s)he wants to understand the algo.

A must have for anybody directly working on GC, or like me, people who develop high performance systems on GC aware languages/platforms. It can help you extract the most out of your platform.
2 people found this helpful
Report
Reviewed in the United States on October 22, 2005
This is really a great book. It's really a must have for people who want to write their own modern virtual machine (like I).

This is simply the only book about Garbage Collection you can get. It's very complete: all GC Algorithmes are covered by this book in depth! All topics are properly introduced it has a nice layout, and offer snippets of pseudocode. It is not really a dry text.

If you want to read scientific papers about Garbage Collectors (like of ACM), it's recommended to read first this book, to get a proper introduction in this topic.
8 people found this helpful
Report
Reviewed in the United States on September 4, 1997
For the complete review, see the Sept '97 issue
of Doctor Dobbs, or look online at:
[...]
27 people found this helpful
Report
Reviewed in the United States on August 6, 1999
The book is so well written and easy to understand its worth buying it even you only read the first two chapters.
8 people found this helpful
Report

Top reviews from other countries

Translate all reviews to English
Nick Keighley
5.0 out of 5 stars amazing book
Reviewed in the United Kingdom on October 3, 2013
I find it hard to write good reviews. This is simply a brilliant book. It does what it says on the cover. It is the definitive book on garbage collection. What I thought I knew was put into a little dot. Well written, comprehensive, complete (so far as I know).

If you are curious about how these things work underneath; this is the book to read.
bob street
4.0 out of 5 stars Excellent, but...
Reviewed in the United Kingdom on June 14, 2011
A surprisingly readable text, given the esoteric nature of the subject.

Comprehensive, clear, and interesting.

Not a "must read" for 99.9% of programmers; you won't learn how to better use a garbage-collecting language like Java or C# from reading this book; rather it's a detailed and technical overview of garbage collection techniques.

The organization is a little odd - rather than dealing with GC methods one-at-a-time, the book takes a more "layered" view, first covering a brief overview of all techniques, then covering each in more detail. Combined with some terminological inconsistencies, this makes it awkward to follow at times, requiring some flipping back and forth and manual cross-references. Nonetheless an excellent guide if you're interested enough in the subject to put the effort into following it.
2 people found this helpful
Report
大和谷 潔
3.0 out of 5 stars "infinite space in finite memory"実現へのイントロダクション
Reviewed in Japan on September 19, 2009
再帰やループが、無限に続く時間を有限の大きさのプログラムで記述する手法とすれば、ガーベジコレクション(以下、GC)は、無限に広がる空間を有限の大きさのメモリ上に実現する仕組みです。
計算機の物理的有限性を隠蔽し我々の世界を構成する無限の時空を記述できることを"高級言語"の必須要件とするならば、GCはその実現に欠かせない機能です。
現実に、GCを採用するJavaやC#などの"高級言語"が、ソフトウェア開発の主要なシェアを占める時代になりました。
あなたが今使っている計算機の内部でも、いくつものGCが動いているのです。
さらには、あなたが使っている電化製品でもGCが動いているかもしれません。
GCの実装技術は今後ますます重要となるでしょう。

近年のプログラミング言語処理系の教科書もGCに章を割いて説明するようになっています。
しかし、本書のようにGCを専門に扱う本はほとんどありません。
本書は概説的な内容です。より専門的な論文にあたる前に読むのがよいと思います。
ただ、GCのサーベイ論文がネットで入手できるので、まずそちらを読むのもよいでしょう。
("Uniprocessor Garbage Collection Techniques", Paul R. Wilsonなど)

本書著者による
Advanced Garbage Collection: Algorithms for Automatic Dynamic Memory Management が出るようです。
3 people found this helpful
Report