Skip to Content
Java: The Good Parts
book

Java: The Good Parts

by Jim Waldo
April 2010
Intermediate to advanced
192 pages
6h 22m
English
O'Reilly Media, Inc.
Content preview from Java: The Good Parts

Chapter 5. Garbage Collection

So far, we have identified a number of good parts of the Java language and environment that allow us to write modular, maintainable code, often with the help (or at least the participation) of lots of other people. All of these good things allow us to do something—define a type, either as a class or an interface; define and handle an exception (and tell others when to expect such an exception); or create a package that both defines a separate namespace and interacts with the protection mechanisms to give you a layer of abstraction.

Now we are going to turn to a good part of Java that lets us not do something. In the early days of Java, I used to ask people if they would be willing to try a programming tool that would fix over half of the bugs in their code. They were always eager to get such a tool; when I pointed out that it was Java, they were confused. The part of Java that allowed this claim (and still allows it) is garbage collection. Because of this feature, you don’t have to do explicit memory management within your program, and flaws in such memory management have been shown to be a large fraction of the bugs in programs written in languages that don’t have garbage collection.

Even though garbage collection is a feature that allows you to not do things, there are still some things that you have to understand to use the feature correctly. There are still ways to defeat the garbage collector and produce a memory leak. And habits from other languages, ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Java

Java

Ian F. Darwin
Java By Comparison

Java By Comparison

Simon Harrer, Linus Dietz, Jörg Lenhard
Java 8 in Action

Java 8 in Action

Alan Mycroft, Mario Fusco, Raoul-Gabriel Urma
Think Java

Think Java

Allen B. Downey, Chris Mayfield

Publisher Resources

ISBN: 9781449382322Errata Page