In the last year, we've gone from millions of pieces of data to billions of pieces of data. I will speak on a solution for scaling up and about the challenges presented. Also covered will be the future of data at Qihoo 360 with MongoDB.
Performance optimization techniques for Java codeAttila Balazs
The presentation covers the the basics of performance optimizations for real-world Java code. It starts with a theoretical overview of the concepts followed by several live demos
showing how performance bottlenecks can be diagnosed and eliminated. The demos include some non-trivial multi-threaded examples
inspired by real-world applications.
In the last year, we've gone from millions of pieces of data to billions of pieces of data. I will speak on a solution for scaling up and about the challenges presented. Also covered will be the future of data at Qihoo 360 with MongoDB.
Performance optimization techniques for Java codeAttila Balazs
The presentation covers the the basics of performance optimizations for real-world Java code. It starts with a theoretical overview of the concepts followed by several live demos
showing how performance bottlenecks can be diagnosed and eliminated. The demos include some non-trivial multi-threaded examples
inspired by real-world applications.
share the common java memory problem cases solutions,including:
1. java.lang.OutOfMemoryError
2. full gc frequently
3. cms gc error: promotion failed or concurrent mode failure
6. Sun JDK Memory Area -Xss PC寄存器 本地方法栈 局部变量区 -XX:PermSize –XX:MaxPermSize 操作数栈 方法区 栈帧 堆 方法栈 -Xms -Xmx 备注:在Sun JDK中本地方法栈和方法栈是同一个,因此也可用-Xss控制
7. Sun JDK Memory Area 方法栈 & 本地方法栈 线程创建时产生,方法执行时生成栈帧; 方法区 存储类的元数据信息、常量等; 堆 Java代码中所有的new操作; Native Memory(C Heap) Direct ByteBuffer、JNI、Compile、GC;
8. 堆 -Xmn New Generation Eden S0 S1 Old Generation -XX:SurvivorRatio 备注:通常将对新生代进行的回收称为Minor GC或Young GC;对旧生代进行的回收称为Major GC,但由于 Major GC除并发GC外均需对整个堆以及持久代进行扫描和回收,因此又称为Full GC。
26. Garbage Collector – Future Garbage First (G1) JDK 1.6 update 14 or JDK 7 Few flags need to set -XX:MaxGCPauseMillis=100 -XX:GCPauseIntervalMillis=6000