This presentation will compare and contrast application behavior in Java 7 with Java 8, particularly focusing on memory management and usage. Several code examples are presented to show how to recognize and respond to common pitfalls.
SLIDE3: Why AppDynamics? establish credibility through 3rd party validation Commitment to customer success Business and customer growth
Describe our GTM model – ease of deployment, Enterprise grade, proven in the most demanding environments and high impact, fast
Quiz: what is the default Java stack size?
Quiz: what is the default Java stack size? Point of slide: If you’ve ever had to manage stack size, don’t expect Java 8 behavior to be the same as Java 7 Note that you can’t directly get the stack trace depth, only the size.
Any questions on stack memory?
Question: how many modern apps have this object death rate? Question: what common technique completely changes this picture?
Question: how many modern apps have this object death rate?
Blast from the past – Java 6 HotSpot Summary: heap is basically the same in Java 6/7/8, but GC options change Any questions about heap?
Ask if anybody is surprised by this, can explain this
Mention performance impact if interned strings were a big source of PermGen use in Java 6 Ask about the logo
Push on the “no max size” theme. What would happen if a program that leaked class metadata permgen in Java 6 were put onto Java 8? Can get old behavior with MaxMetaSpaceSize
Story about how PermGen can affect monitoring tools Retransform -> app holds onto class/meta references (reflection object caching)
A PermGen problem will be less frequent but more severe if it moves to being a metaspace problem
Ask for any questions on memory before we switch to garbage collection
Why 15-minute periods? – practical: time needed to tune program for proper rate of allocation plus doing all the runs for comparison.
Tune the program:
What are the group’s experiences? Any questions on Java 7 results, before we move onto Java 8?
What do you think CMS looks like on Java 8 with no tuning options?
Monitoring memory and JVM stats is only a tiny part of what AppD does
Memory Management: What You Need to Know When Moving to Java 8
What You Need To Know When Moving to Java 8
Todd Rader, Architect / Sales Engineer