javaone summary
DESCRIPTION
JavaOne 2010 Summary.TRANSCRIPT
<Insert Picture Here>
JavaOne Summary
bluedavy
http://blog.bluedavy.com
2010-10-4
2
Agenda
• Trends
• Overview
• Details
• Summary
3
Trends
• Fire IBM、Salesforce.com
– Software,Hardware,Complete.
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...
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.
6
Details
• JVM
– GC
– Memory Leak
– Native Memory
– Hot code replace
– Multicore
– Monitor and Profiler
• Experience Talk
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
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;
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.
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.
11
Details
• JVM
– Multicore
• Lambda;
• Fork/Join in JDK7;
• AKKA;
• Actors;
• GPU based;
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?
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;
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
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;
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?;
17
Bonus - photos