21
Java Performance Explained In 15 second blind-ignite-sized chunks… Bravely Presented By: Richard Warburton & Martijn Verburg Slides Created By: Daniel Bryant

LJC Unparty 2014 "Java Performance Blind Ignite Talk"

Embed Size (px)

DESCRIPTION

This talk was delivered at the awesome LJC Unparty in January 2014, and is meant to be a light-hearted whistle-stop tour of important Java Performance topics.

Citation preview

Page 1: LJC Unparty 2014 "Java Performance Blind Ignite Talk"

Java Performance ExplainedIn 15 second blind-ignite-sized chunks…

Bravely Presented By: Richard Warburton & Martijn Verburg

Slides Created By: Daniel Bryant

Page 2: LJC Unparty 2014 "Java Performance Blind Ignite Talk"

Which Java developers should be interested in performance?

Page 3: LJC Unparty 2014 "Java Performance Blind Ignite Talk"

How can I learn to write Java code

that performs well?

Page 4: LJC Unparty 2014 "Java Performance Blind Ignite Talk"

Is there any part of the JDK I should avoid for performance reasons?

Page 5: LJC Unparty 2014 "Java Performance Blind Ignite Talk"

How useful is “Mechanical Sympathy”?

(as popularised by Martin Thompson)

Page 6: LJC Unparty 2014 "Java Performance Blind Ignite Talk"

Do we love L.A.M.P?...

Or Java on Windows?...

(for best performance)

Page 7: LJC Unparty 2014 "Java Performance Blind Ignite Talk"

How does the JVM optimise code?

Page 8: LJC Unparty 2014 "Java Performance Blind Ignite Talk"

How can I tune JVM performance?

Page 9: LJC Unparty 2014 "Java Performance Blind Ignite Talk"

“Cool cats” enable as many GC Flags as possible, right?

Page 10: LJC Unparty 2014 "Java Performance Blind Ignite Talk"

When should I turn on GC logging?

Java -XX:+PrintGCDetails \ -XX:+PrintGCDateStamps \ -XX:+PrintTenuringDistribution \ -Xloggc:logs/gc.log \...

Page 11: LJC Unparty 2014 "Java Performance Blind Ignite Talk"

GC Logs in production, really?

My manager doesn’t like that…

Page 12: LJC Unparty 2014 "Java Performance Blind Ignite Talk"

Do products exist to analyse GC Logs?

Page 13: LJC Unparty 2014 "Java Performance Blind Ignite Talk"

Random Heap Usage Graph - explain…

Page 14: LJC Unparty 2014 "Java Performance Blind Ignite Talk"

How common is “Yak Shaving” with performance diagnostics / tuning?

Page 15: LJC Unparty 2014 "Java Performance Blind Ignite Talk"

How does the Azul JVM work its magic?

(in 15 seconds or less…)

Page 16: LJC Unparty 2014 "Java Performance Blind Ignite Talk"

What’s all the fuss about Shenandoah?

Page 17: LJC Unparty 2014 "Java Performance Blind Ignite Talk"

How effective is ‘off heap’ storage?

Page 18: LJC Unparty 2014 "Java Performance Blind Ignite Talk"

Any noteworthy performance stuff in the soon to be released JDK 8?

* GA Release: 18/03/2014. http://openjdk.java.net/projects/jdk8/milestones

Page 19: LJC Unparty 2014 "Java Performance Blind Ignite Talk"

Most common performance-related mistake you see in Java code?

Page 20: LJC Unparty 2014 "Java Performance Blind Ignite Talk"

How can I troll Java performance mailing lists?

Page 21: LJC Unparty 2014 "Java Performance Blind Ignite Talk"

Great work! And relax…

(Let’s have a round of applause!)