PLAY PODCASTS
018: Effective Java for Android developers : Item 3
Episode 18

018: Effective Java for Android developers : Item 3

In this mini Fragment, we introduce Joshua's third Item: Enforce the Singleton property with a private constructor or an enum type. Stay tuned for more items from our "Effective Java for Android developers" Fragment series.

Fragmented - AI Developer Podcast · Spec

October 8, 201511m 56s

Audio is streamed directly from the publisher (cdn.simplecast.com) as published in their RSS feed. Play Podcasts does not host this file. Rights-holders can request removal through the copyright & takedown page.

Show Notes

In this mini Fragment, we introduce Joshua's third Item: Enforce the Singleton property with a private constructor or an enum type.

Stay tuned for more items from our "Effective Java for Android developers" Fragment series.

Show Notes

Enforce the Singleton property with a private constructor or an enum type

Approaches

  1. Create a public static final INSTANCE variable and privatize constructor
  2. Same as 1 but privatize variable and expose access with provide factory method getInstance
  3. Single element Enums

Considerations

  • First two approaches are open to Serialization attacks (deserializing creates new instance)
  • To protect from those declare the fields transient + provide readResolve method
  • Enums are concise, provide free serialization and ironclad Singleton guarantees and are functionally equivalent to first approach

Supplemental reading (for the diligent ones that follow shownotes)

Contact us:

Topics

androiddeveloperpodcast