025: Effective Java for Android developers : Item 7 episode artwork

EPISODE · Dec 28, 2015 · 11 MIN

025: Effective Java for Android developers : Item 7

from Fragmented - AI Developer Podcast · host Spec

In this mini Fragment, we introduce Joshua's seventh Item and a momentous end to the first chapter: Avoid finalizers Stay tuned for more items from our "Effective Java for Android developers" Fragment series. Show Notes Effective Java (2nd Edition) - Joshua Bloch Avoid finalizers If you don't know what they are, ignorance is bliss. If you know what they are, avoid them! Finalizers in Java != destructors in C++ (C++ counterparts to constructors). In C++ destructors you reclaim resources here (Java has GC) you also reclaim non-memory resources (use the try-finally block in Java) (unpredicatable amt of time between object becoming unreachable and finalizer being executed) Never do anything time critical in finalizer! System.gc + System.runFinalization increase chances - no guarantee System.runFinalizersOnExit + Runtime.runFinalizersOnExit are the ones that do - but they are fatally flawed Java 7 has try with resources, which is also interesting and auto-closeables. [Android] devs can only dream of these. If an uncaught exception is thrown in a finalizer, it is ignored, and the finalization abruptly terminates. Severe performance penalty for using finalizers - (one e.g.) time to create and destroy simple object goes from 5.6ns -> 2400ns Only valid use: as a safety net or to terminate noncritical native resources. [Android] you're probably better off using Android's lifecycle methods. Contact @fragmentedcast [twitter.com] @donnfelker [twitter.com] @kaushikgopal [twitter.com]

Episode metadata supplied by the publisher feed · Published Dec 28, 2015

Embed this episode

In this mini Fragment, we introduce Joshua's seventh Item and a momentous end to the first chapter: Avoid finalizers. Stay tuned for more items from our "Effective Java for Android developers" Fragment series.

Distinct summary based on available episode metadata or transcript content.

NOW PLAYING

025: Effective Java for Android developers : Item 7

0:00 11:36

No transcript for this episode yet

We transcribe on demand. Request one and we'll notify you when it's ready — usually under 10 minutes.

No similar episodes found.

No similar podcasts found.

Frequently Asked Questions

How long is this episode of Fragmented - AI Developer Podcast?

This episode is 11 minutes long.

When was this Fragmented - AI Developer Podcast episode published?

This episode was published on December 28, 2015.

Can I download this Fragmented - AI Developer Podcast episode?

Yes. Use the download control on the episode player to save the publisher-provided media file.
URL copied to clipboard!