17
<Insert Picture Here> JavaOne Summary bluedavy http://blog.bluedavy.com 2010-10-4

JavaOne summary

Embed Size (px)

DESCRIPTION

JavaOne 2010 Summary.

Citation preview

Page 1: JavaOne summary

<Insert Picture Here>

JavaOne Summary

bluedavy

http://blog.bluedavy.com

2010-10-4

Page 2: JavaOne summary

2

Agenda

• Trends

• Overview

• Details

• Summary

Page 3: JavaOne summary

3

Trends

• Fire IBM、Salesforce.com

– Software,Hardware,Complete.

Page 4: JavaOne summary

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...

Page 5: JavaOne summary

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.

Page 6: JavaOne summary

6

Details

• JVM

– GC

– Memory Leak

– Native Memory

– Hot code replace

– Multicore

– Monitor and Profiler

• Experience Talk

Page 7: JavaOne summary

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

Page 8: JavaOne summary

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;

Page 9: JavaOne summary

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.

Page 10: JavaOne summary

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.

Page 11: JavaOne summary

11

Details

• JVM

– Multicore

• Lambda;

• Fork/Join in JDK7;

• AKKA;

• Actors;

• GPU based;

Page 12: JavaOne summary

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?

Page 13: JavaOne summary

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;

Page 14: JavaOne summary

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

Page 15: JavaOne summary

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;

Page 16: JavaOne summary

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?;

Page 17: JavaOne summary

17

Bonus - photos