4. Trends
• JavaSE
– JDK 7 used plan b,plan release at 2011 mid,Java 8 plan
release at 2012 late.
– Improved Networking based on Native Infiniband;
– Optimize Java for new app models & new hardware;
– Multilanguage supports.
• JavaEE
– Nothing important
• Java Client
– 2D & 3D
– HTML 5
– More Actions...
4
5. Overview
• I attended 24 sessions of 370,two types: JVM,
experience talk.
• I learned a lot,but google’s absence is a large pity.
5
7. Details
• JVM
– GC
• Tony said:”this is my favorite session”;
– Cliff click said in another session:”if JVM vendor can provider one flag
to control memory,then gc don’t need talk about again”.
• GC Tuning,ParallelOldGC first,if pause time too long,then CMS;
• CMS GC Tuning tips: such as set CMSInitiatingOccupancyFraction
properly; turn on ParallelRefProcEnabled etc;
• set Tenuring Threshold properly;
• Finalizers should be avoided;
• GC Myth,such as gc explicit deallocation would improve performance,gc
eliminates all memory leaks,I can a high throughput and low pause gc.
• System.identityHashCode() causes gc slow
7
8. Details
• JVM
– Memory Leak
• PermGen memory leak,tomcat add a
MemoryLeakProtection;
• Use MAT to analyze memory leak;
• a simple and classic example by Tony;
File f=new File(fileName);
Image img=readImage(f);
imageMap.put(f,img);
f=null;
8
9. Details
• JVM
– Native Memory
• ppt is very good and total,from os memory model,jvm
memory model to how jvm use native memory;
• recommend os tools such as pmap to find who use native
memory;
– I think it’s not good,seems google perftools is the best
solution now.
9
10. Details
• JVM
– Hot code replace
• u can use hotswap or discarding classloaders,but they’re
not good;
• current product: fastswap in
weblogic;JRebel;FaceReplace;Spring Loaded;
• Spring Loaded seems very good from demo;
– method reloading: basically loosen caller/callee
coupling;
– field reloading: intercept field accesses.
10
12. Details
• JVM
– Monitor and Profiler
• VisualVM;
– Tracker plugin seems good;
• JRockit Mission Control(JRMC);
– Very cool,rockstar,appearance rate is very high;
– Maybe after two years,we can use it on hotspot,;
• Palantir
– Just another commerical tool,based on DTrace;
• HProf
– why not use it?
12
13. Details
• Experience Talk
– How to Tune and Write Low-Latency Applications on the Java
Virtual Machine
• Understand your data structures,such as size your
hashmap correctly;
• GC friendly data structures;
• Use Reference Objects Sensibly;
• Profiling,such as gc analysis;
• Analyze your app,include gc,hot methods,lock
contention,IO events;
13
14. Details
• Experience Talk
– Too Big to Fail: Top Tips for Massive, Mission-Critical
Enterprise Applications
• CompressedOOPS
• NUMA
• HProf
• Share read-only data use NewDirectByteBuffer
• NanoTime
• beaware identity hashcode
14
15. Details
• Experience Talk
– Top 10 Causes for Java Issues in Production and What to Do
When Things Go Wrong
• Instrumentation is not cheap;
– I don’t know how cliff click think about jrockit flight recorder;
• leaks;
• I/O;
• Locks & synchronized;
• Endless compilation,exceptions;
• Fragmentation;
• GC Tuning;
• Spikes;
• Versionitis;
15
16. Summary
• The session content and speaker are two important
factors for choose session;
• Many speakers are from india,seems india engineer
are go into tech core;
• The level of attendees are unevenness;
• Exchange with speakers are important,so u should
prepare what do u want to know more?;
16