Jump to ratings and reviews
Rate this book

Garbage Collection: Algorithms for Automatic Dynamic Memory Management

Rate this book
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

404 pages, ebook

First published September 17, 1996

5 people are currently reading
160 people want to read

About the author

Richard Jones

4 books2 followers
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.

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
15 (36%)
4 stars
19 (46%)
3 stars
6 (14%)
2 stars
1 (2%)
1 star
0 (0%)
Displaying 1 of 1 review
Profile Image for Stefan Kanev.
125 reviews239 followers
April 12, 2014
I took me around a year to read this book. I picked it up because I wanted to learn more about Garbage Collection in general after a I heard a talk about the Ruby Garbage Collector in particular. At first, it was more than I could swallow and I had to progress slowly. I had to reread parts, I often stopped reading it for weeks, but I eventually finished it.

It sums up nicely different garbage collection algorithms. If you read this book, you will be able to write a bunch of *simple* garbage collectors and you will have a good idea how to think about them. You'll also learn that Garbage Collection is way more intricate and complex than you assume. It's pretty eye-opening.

There are two shortcomings. First, the books was written in the 90s and it shows. It describes interactions with the architecture (namely cache and virtual memory) that are not relevant in the present day. Second, you will not always be able to grok what the book talks about. The first chapters explain the algorithms in detail, but after a point, it starts to feel as a summary of the research papers, referenced at the back. It could have also used more illustrations to make its points.

Apart from this, the book is a great, if heavy, ready.
Displaying 1 of 1 review

Can't find what you're looking for?

Get help and learn more about the design.