In this episode Donn and Kaushik talk to the very talented Michael Bailey about core Java principles and practices. Michael has quite the deep and passionate understanding of Java and we thought it would only be perfect to share this episode with a very passionate Java crowd - Android developers. We talk about IntelliJ, Testing, Inheritance, Static Code analysis, Garbage Collection, Data Structures and much more in this episode. If you're looking to learn a thing or two about Java, then this is your episode. We hope you enjoy.


Show Notes

elapsedRealtimeNanos for getting wall time [developer.android.com]
Android Pay announcement [officialandroid.blogpost.co.uk]

Intellij information:

Curated list of IDE plugings by Jetbrains [blog.jetbrains.com]
Key promoter plugin [plugins.jetbrains.com]
Productivity Guide [jetbrains.com/help]
Extending + Shrinking selection [jetbrains.com/help]

Testing talk:

Google acquires Appurify [techcrunch.com]
Cloud Test Lab (erstwhile Appurify) [developers.google.com/cloud-test-lab]

Great books on improving your Java skills:

Gang of Four [amazon.com]
Effective Java (2nd Edition)- Joshua Bloch [amazon.com]

Effective code review technique (WTFs a minute) [cryhavok.org]


On inheritance:

Item 15 : Design and document for inheritance or else prohibit it
Item 16 : Favor composition over inheritance
Chris Banes on using AppCompatDelegate [twitter.com]

Static code analyzers:

Checkstyle, PMD, Findbugs [github.com]
Android Lint [developer.android.com]
Findbugs [sourceforge.net]
PMD [sourceforge.net]
blog post setup static code analysis tools [vincentbrison.com]
Infer by Facebook [code.facebook.com]
John Carmack In-Depth: static code analysis [gamasutra.com]

Garbage collection:

Google IO 2011 talk [youtube.com]
Medium article - Garbage Collection[medium.com]
LeakCanary by Square [github.com]
What is meant by immutable [stackoverflow.com]

Data structures for Android

ArrayMap (Android alt. to HashMap) [developer.android.com]
SimpleArrayMap [developer.android.com]
SparseArray (Android alt. to mapping int -> Objects) [developer.android.com]

Benchmarking DS:

Caliper [github.com]
Vogar examples [code.google.com]
ADB Ep. 27 (forEach quirks) ( minute 9:07) [androidbackstage.blogpost.com]
Coding for performance blog post [devahead.com]
See Item 21 in Effective Java (Ed. 1) about typesafe enum patterns (this was before enums existed)
Null safety in Kotlin [kotlinlang.org]
Mondegreen [wikipedia.org]
Mad Gab

Awesome picks:

Michael:

Learn how to file high quality bug report for Android tools [tools.android.com]
List of Android conferences [androidstudygroup.github.io]
GTAC 2015 conference [googletesting.blogpost.com]
Developing for Android - blog post series by Google developers [medium.com]

Kaushik:

library: Android-ReactiveLocation [github.com]
Google App for Donation OneToday [onetoday.google.com]
An article discussing the case between Oracle vs Google [techdirt.com]

Donn:

Vote for my android talks at DroidCon NYC! :)
Anker Charging Station [amazon.com]
22$ Standing Desk [iamnotaprogrammer.com]

Contact
Michael Bailey

@yogurtearl [twitter.com]

Donn Felker

@donnfelker [twitter.com]
donnfelker.com

Kaushik Gopal

@kaushikgopal [twitter.com]
kaush.co

Twitter Mentions