ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
JAVA À¬»øÊÕ¼¯Ô­Àí @gongyin [email_address]
?
¡° Garbage collection ?( GC ) is a form of automatic? memory management . The? garbage collector , or just? collector , attempts to reclaim? garbage , or memory occupied by? objects ?that are no longer in use by the? program   ¡±   - Wikipedia
×Ô¶¯ÄÚ´æ¹ÜÀíÄê´ú »¹ÓбØÒªÑ§Ï°ºÍÁ˽â GC £¿
À¬»øÊÕ¼¯Æ÷×öʲô£¿ ÊÍ·Å·Ç´æ»î¶ÔÏóÕ¼¾ÝµÄÄÚ´æ¿Õ¼ä ¹ÜÀíÄڴ棬¾ö¶¨ÁËÄÚ´æ·ÖÅä»úÖÆ
À¬»øÊÕ¼¯Æ÷ÈçºÎ×ö£¿ ¼ì²â³öÀ¬»ø¶ÔÏó Ö±½Ó·½Ê½£ºÒýÓüÆÊý ¼ä½Ó·½Ê½ :  ×·×Ù¶ÔÏóÒýÓÃͼ »ØÊÕÀ¬»ø¶ÔÏóËùÕ¼ÓõÄÄÚ´æ¿Õ¼ä Ö±½ÓÇå³ý ѹËõ ¿½±´ ±ØÐë¾ö¶¨Ê²Ã´Ê±ºò½øÐлØÊÕ
À¬»øËã·¨µÄ»ù±¾ÒªÇó ±ØÐëÊǰ²È«µÄ£¬´æ»îÊý¾Ý²»Äܱ»´íÎó»ØÊÕ Ó¦¸ÃÊÇÈ«ÃæµÄ£¬À¬»ø¶ÔÏó»áÔڹ̶¨µÄÊÕ¼¯ÖÜÆÚ±»»ØÊÕ Ó¦¸ÃÓкÏÀíµÄ¿ªÏú£¬Ê±¼ä / ¿Õ¼ä / ÔËÐÐÆµÂÊ ¾¡¿ÉÄÜÉÙµÄÄÚ´æË鯬 Ó¦¸ÃÊÇ¿ÉÀ©Õ¹µÄ£¬²»»á³ÉΪ¿ÉÀ©Õ¹Æ¿¾±
³£ÓÃµÄ GC Ëã·¨ºÍ²ßÂÔ ÒýÓüÆÊýÆ÷£¨½¥½øÊ½£© ±ê¼Ç - ÇåɨÀ¬»øÊÕ¼¯ ½Úµã¸´ÖÆÀ¬»øÊÕ¼¯ ±ê¼Ç - Ëõ²¢À¬»øÊÕ¼¯ ·Ö´úÀ¬»øÊÕ¼¯ ²¢·¢À¬»øÊÕ¼¯ ·Ö²¼Ê½À¬»øÊÕ¼¯ ×ÔÊÊÓ¦¶¯Ì¬À¬»øÊÕ¼¯
ÒýÓüÆÊýÆ÷ Pros ʵÏÖ¼òµ¥£¬ÄÜ¿ìËÙÅж϶ÔÏóÊÇ·ñÔÚʹÓà ½»Ö¯ÔÚ³ÌÐòÖÐÖ´ÐУ¬²»»á¹ÒÆðÓ¦Óà Cons ÎÞ·¨´¦ÀíÑ­»·ÒýÓà ¸ø³ÌÐòÖ´ÐдøÀ´¶îÍâµÄ¿ªÏú ÓëÓû§³ÌÐò½ôÃܵÄñîºÏ
±ê¼Ç - ÇåɨËã·¨ Pros ·Ç³£×ÔÈ»µÄ´¦Àí»·Ðνṹ ²Ù×ÝÖ¸ÕëûÓжîÍâµÄ ¿ªÏú Cons Í£Ö¹ - Æô¶¯ Ëã·¨£¬ STW ÎÊÌâ ÄÚ´æË鯬ÎÊÌâ ½¥½ø¸´ÔÓ¶ÈÕý±ÈÓë¶ÑµÄ´óС
½Úµã¸´ÖÆËã·¨ Scavenger ÇåµÀ·ò£¬´ÓÀ¬»øÖмñÆðÓмÛÖµµÄ²¢´ø×ß Pros ËùÓдæ»îµÄÊý¾Ý¶¼Ëõ²¢µÄÅÅÁÐÔÚÒ»Æð ÎÞÄÚ´æË鯬£¬Äܹ»¸ßЧµÄ·ÖÅä¶ÔÏó Cons ʹÓÃÁ½¸ö°ëÇø£¬´æ´¢ÈÝÁ¿¼Ó±¶ ÖØ¸´¿½±´ ÐÔÄÜËæ×ÅÄÚ´æÕ¼ÓÃÂÊÌá¸ß¶øÏ½µ£¬¸´ÔÓ¶ÈÕý±ÈÓÚ´æ»îÊý¾Ý½á¹¹µÄ´óС£¬¶ø²»ÊǶѵĴóС
±ê¼Ç - Ëõ²¢Ëã·¨ Ëõ²¢·½Ê½ ÈÎÒâµÄ / ÏßÐ﵀ / »¬¶¯µÄ Pros ²»ÐèÒªÕ¼ÓöîÍâ¿Õ¼ä Cons Ëõ²¢´øÀ´ÐÔÄÜËðʧ ½¥½ø¸´ÔÓ¶ÈÀàËÆÓë½Úµã¸´ÖÆËã·¨
·Ö´úʽÀ¬»øÊÕ¼¯Æ÷ Weak generational hypothesis ÀíÂÛ ´ó²¿·Ö¶ÔÏó¶¼ÊǶÌÔݵģ¬ÉúÃüÖÜÆÚºÜ¶Ì Ö»ÓкÜÉٵij¤ÉúÃü¶ÔÏó»áÒýÓöÌÉúÃü¶ÔÏó °Ñ¹¤×÷¼¯ÖÐÔÚ»ØÊÕ×îÓпÉÄÜÊÇÀ¬»øµÄ¶ÔÏóÉÏ Pros ²»Í¬µÄ·Ö´ú¿ÉÒÔʹÓò»Í¬µÄËã·¨ºÍ²»Í¬µÄËѼ¯ÆµÂÊ£¬ÄܼõÉÙÀ¬»øÊÕ¼¯µÄÕûÌ忪Ïú Cons Èç¹û¸ù¼¯ºÏ¾Þ´ó ·Ö´ú¼äÒýÓà  ÒÔ¼° ռλÀ¬»ø  ÎÊÌâ
·Ö´úʽÀ¬»øÊÕ¼¯Æ÷ ÐèÒªºÏÀíÉèÖà  ÌáÉý²ßÂÔ  ºÍ ÌáÉý·§Öµ ÌáÉýÌ«¿ì Major GC ռλÀ¬»ø ºÍ ±Ó»¤ÏÖÏó ³ÌÐòµÄ¾Ö²¿ÐÔÓиºÃæÓ°Ï죬¹¤×÷¼¯Ï¡Êè Ôö´óдÀ¹½ØÆ÷µÄ¿ªÏú ×ÔÊÊÓ¦ÌáÉý²ßÂÔ ÔÚËõ¶ÌÖжÏʱ¼äºÍռλÀ¬»øÖ®¼ä½øÐÐÕÛÖÔ µ÷¶È²ßÂÔ Òþ²ØÔÚÓû§×î²»×¢Ò⵽ʱ¿Ì ×î¶àÀ¬»øÊ±´¥·¢
½¥½øÊ½ºÍ²¢·¢ÊÕ¼¯Æ÷ ÈýÉ«±ê¼Ç  ÒÑ·ÃÎÊ \ ÐèÖØ·ÃÎÊ \ δ·ÃÎÊ Pros ´ó·ùËõ¶ÌÀ¬»øÊÕ¼¯´øÀ´µÄÖжÏʱ¼ä Cons ÍÌÍÂÁ¿£¬À¬»øÊÕ¼¯×ܺÄʱÉÏÉý ¡° ¶à¸ö¶Á£¬¶à¸öд¡±Ò»ÖÂÐÔÎÊÌ⣬ÐèÒªºÍÓû§³ÌÐòͬ²½£¬Æ¯¸¡À¬»øÎÊÌâ ÐèÌáǰ½øÐÐÊÕ¼¯£¬¿ÉÄܲ¢·¢ÊÕ¼¯Ê§°Ü
×ÔÊÊÓ¦À¬»øÊÕ¼¯Ëã·¨ ¼àÊÓ·þÎñÆ÷ºÍÓ¦ÓÃÇé¿ö£¬×Ô¶¯µ÷ÕûºÍÑ¡ÔñºÏÊʵÄÊÕ¼¯Ëã·¨ JAVA ÖÐµÄ Eronomic
Java »ùÓÚ·Ö´ú²ßÂÔ Ã¿¸ö·Ö´ú¿ÉÒÔʹÓò»Í¬µÄÀ¬»øÊÕ¼¯Æ÷
Java »ùÓÚ·Ö´úÀ¬»øÊÕ¼¯²ßÂÔ
Java ÖÐÈçºÎ¼ì²âÀ¬»ø¶ÔÏóµÄ£¿ ÕÒµ½ GC Root ¼¯ºÏ ±¾µØ±äÁ¿ºÍ¾Ö²¿±äÁ¿ÒýÓõĶÔÏó ·½·¨ÇøÖÐÀྲ̬ÊôÐÔÒýÓõĶÔÏó ·½·¨ÇøÖг£Á¿ÒýÓõĶÔÏó ±¾µØ·½·¨Õ»ÖÐ JNI ËùÒýÓõĶÔÏó ¿ç·ÖÇøÒýÓõĶÔÏ󣬷ִú¼äÒýÓà ÒýÓöÔÏó±»ÌáÉý ±»ÖØÐ¸³ÖµÖ¸ÏòÐÂÉú·Ö´ú¶ÔÏó
Java ÖÐÈçºÎ¼ì²âÀ¬»ø¶ÔÏóµÄ£¿ дÀ¹½ØÆ÷ Write-barrier Dirty Card JVM ά»¤Ò»¸ö dirty cards  ±í ÿ 512 byte ÄÚ´æÒ³¹ØÁªµ½Ò»¸ö dirty card ÄÚ´æÒ³·¢Éú±ä»¯£¬Ôò±ê¼Ç dirty page GC Íê³É£¬ÖØÉè dirty card Snapshot-at-the-beginning (SATB)  G1
Java ÖÐÈçºÎ¼ì²âÀ¬»ø¶ÔÏóµÄ£¿ ¸ù¾Ý¶ÔÏó´æ»î״̬£¨ Reachable £©±ê¼Ç³öÀ¬»ø¶ÔÏó Ç¿ÒýÓà ÈíÒýÓ㨠SoftReference £© -XX:SoftRefLRUPolicyMSPerMB ÈõÒýÓà (WeakReference) ¿É¸´»î¶ÔÏó ±» finalize ·½·¨¸´»î ( ÐèÁ½±éɨÃè ) ÐéÒýÓà (PhantomReference) ¶ÔÏó±»»ØÊÕʱµÃµ½ÏµÍ³Í¨Öª¡¡ ReferenceQueue ²»¿É´ï¶ÔÏó
À¬»øÇåɨ½×¶Î Êͷű»Õ¼ÓõÄÀ¬»ø ·ÇѹËõ£¬Ö±½ÓÊÍ·Å ÇåµÀ·ò¸´ÖÆ »¬¶¯Ëõ²¢
жÔÏó·ÖÅä Ö±½Ó·ÖÅäÔÚÐÂÉú´ú Eden »ò TLAB TLAB  thread local allocation block -XX:+PrintTLAB  -XX:+UseTLAB  -XX:+ResizeTLAB  -XX:TLABSize=<size>  -XX:MinTLABSize=<size>  ´ó¶ÔÏóºÍ´óÊý×éÖ±½Ó·ÖÅÉÔÚ¾ÉÉú´ú -XX:PretenureSizeThreshold= n   Èç¹û¶ÔÏó´óÓÚ Eden ´óС ¶ÑÍâ·ÖÅä DirectByteBuffer Unsafe.allocateMemory -XX:MaxDirectMemorySize=<value>
¶ÔÏóÌáÉý²ßÂÔ -XX:+AlwaysTenure   £¬Ö±½Ó´ÓÐÂÉú´úµ½¾ÉÉú´ú Survivor ÇøÓòÂúºó£¬ÆäËû´æ»î¶ÔÏóÌáÉý ¶ÔÏóÒѾ­´æ»îÒ»¶¨´ÎÊýµÄÊÕ¼¯ÖÜÆÚ ¨C XX:MaxTenuringThreshold?  ¨C XX:TargetSurvivorRatio
À¬»øÊÕ¼¯Æ÷ÐÔÄܶÈÁ¿Ö¸±ê ÍÌÍÂÁ¿ throughput ûÓл¨ÔÚ GC ÉϵÄʱ¼ä°Ù·Ö±È£¬±ÈÈç GC »¨ÁË 1% µÄʱ¼ä£¬ÄÇôÍÌÍÂÁ¿ÊÇ 99% GC ¸ºÔØ GC Overhead Í£¶Ùʱ¼ä pause Time ÐÂÉú´úÔÝͣʱ¼ä  =  ջɨÃèʱ¼ä +DirtyCard ɨÃèʱ¼ä + ¾ÉÉú´úɨÃèʱ¼ä + ´æ»î¶ÔÏó¸³ÖµÊ±¼ä À¬»øÊÕ¼¯Æ÷Ö´ÐÐµÄÆµÂÊ ÄÚ´æ´óС Footprint Ãô½ÝÐÔ Promptness ¶ÔÏó±ä³ÉÀ¬»øºÍ´Ë¿éÄÚ´æ¿ÉÒÔ±»ÀûÓõÄʱ¼ä
Java Ìṩ 4 ÖÖÀàÐ굀 GC Serial Collector   ¨C XX :+UseSerialGC Parallel Collector  ¨C XX:+UseParallelGC  Parallel Compacting Collector(1.5R6) ¨C XX:+UseParallelOldGC CMS Collector ¨C XX:+UseConcMarkSweepGC
´®ÐÐÊÕ¼¯Æ÷ STW ¨C XX:+UseSerialGC ÐÂÉú´úʹÓô®ÐÐ GC ¾ÉÉú´úºÍ³Ö¾Ã´úҲʹÓô®ÐÐ GC ÊÊÓÃÓÚСÄÚ´æ¿Í»§¶ËÓ¦ÓÃ
²¢ÐÐÊÕ¼¯Æ÷ STW ¨C XX:+UseParallelGC Parallel ÐÂÉú´úʹÓò¢Ðи´ÖÆÊÕ¼¯Ëã·¨ ¾ÉÉú´úʹÓò¢ÐÐѹËõ mark-sweep-compacting ¨C XX:+UseParallelOldGC ¨C XX:ParallelGCThreads= n
²¢·¢ÊÕ¼¯Æ÷ ¹ý³Ì Initial mark ,STW, ÊÕ¼¯ GC Roots Õ» ÐÂÉú´ú¶ÔÏóÓ¦ÓþÉÉú´ú¶ÔÏó ËÙ¶ÈÒÀÀµÓÚÐÂÉú´ú´æ»î¶ÔÏóµÄ¶àÉÙ  ¨C XX:CMSWaitDuration= n Concurrent Mark £¬±ê¼Ç´æ»î¶ÔÏó Concurrent pre clean, ͳ¼Æ±»¸Ä±äµÄÒýÓà Remark £¬ STW £¬ÖØÐ±ê¼Ç±»¸Ä±äµÄÒýÓà ? ¨C XX:+CMSScavengeBeforeRemark // Ç¿ÖÆÐÂÉú´ú GC Concurrent sweep Concurrent  reset
²¢·¢ÊÕ¼¯Æ÷ ¨C XX:+UseConcMarkSweepGC ²»»áѹËõ¶Ñ£¬²»Í¬´óСË鯬Óи÷×﵀ free memory list ¨C XX:+CMSIncrementalMode ¨C XX:ParallelGCThreads=n ºÎʱ´¥·¢ ×îºÃÔÚÐÂÉú´ú GC Ö®ºó ? XX:+UseCMSInitiatingOccupancyOnly = ? XX:+ExplicitGCInvokesConcurrent  µ¼Ö Full ¡¡ GC ²¢ÐÐģʽÎÊÌâ Concurrent mode failure ÕýÔÚÖ´ÐÐ CMS £¬µ«ÊÇûÓÐ×ã¹»µÄ¿Õ¼ä·ÖÅ䏸жÔÏó ÌáÉýʧ°ÜÎÊÌâ Promotion failure ÌáÉýµÄ¶ÔÏóÌ«¶à£¬¾ÉÉú´ú·Å²»ÏÂ
²¢·¢ÊÕ¼¯Æ÷ Õë¶Ô¶àºËÓÅ»¯²ÎÊý ? XX:+CMSConcurrentMTEnabled  ²¢·¢½×¶ÎʹÓöàºË ? XX:+ConcGCThreads=  ? XX:+ParallelGCThreads=  STW ½×¶Î²¢ÐÐÏß³ÌÊýÄ¿£¬Ä¬ÈÏ CPU ÊýÄ¿ ? XX:+UseParNewGC  ÐÂÉú´úʹÓò¢Ðи´ÖÆËã·¨ ÏÞÖÆ ¶Ô CPU ×ÊÔ´Ãô¸Ð Ư¸¡À¬»øÎÊÌâ ÄÚ´æË鯬ÎÊÌâ ? XX:+UseCMSCompactAtFullCollection  ? XX:+CMSFullGcsBeforeCompaction =
Garbge First G1  £¨ jdk16.R14 £© »ùÓÚ ±ê¼Ç - ѹËõËã·¨ ¿ÉÒÔ¾«×¼µÄ¿ØÖÆÔÝͣʱ¼ä ½« Heap ·ÖΪ¶à¸ö´óСµÄ¶ÀÁ¢ÇøÓò G1 ά»¤ÓÅÏÈÁÐ±í£¬¼ì²âÄĸöÇøÓòÄÚ´æÊ¹ÓÃ×î¿ì£¬È»ºó½ö½öÊÕ¼¯´ËÇøÓò Çå³ý¿ÕÇøÓò´ú¼ÛºÜС ¸´ÖÆÐ¡ÊýÁ¿µÄ¶ÔÏóºÜ¿ì
GC  ×éºÏ Young collector Old collector JVM option Serial (DefNew) Serial Mark-Sweep-Compact -XX:+UseSerialGC Parallel scavenge (PSYoungGen) Serial Mark-Sweep-Compact (PSOldGen) -XX:+UseParallelGC Parallel scavenge (PSYoungGen) Parallel Mark-Sweep-Compact (ParOldGen) -XX:+UseParallelOldGC Serial (DefNew) Concurrent Mark Sweep -XX:+UseConcMarkSweepGC -XX:-UseParNewGC Parallel (ParNew) Concurrent Mark Sweep -XX:+UseConcMarkSweepGC -XX:-UseParNewGC G1 -XX:+UseG1GC
Ergonomics »ùÓÚÆ½Ì¨ºÍ²Ù×÷ϵͳ×Ô¶¯Ñ¡Ôñ collertor ¡¢ heap size ºÍ hotspot client or server Ä¿±êÊÇÌṩ¾¡¿ÉÄܺõÄÐÔÄܶø²»ÐèÒªÉèÖÃÌ«¶àÃüÁî²ÎÊý£¬×Ô¶¯»¯
Behavior-based parallel ×î´óÍ£¶Ùʱ¼ä -XX £º MaxGCPauseMillis=n ×î´óÍÌÍÂÁ¿ -XX £º GCTimeRatio=n Ratio = 1/ £¨ 1+N £© Default value = 1% ȱʡÓÅÏȼ¶£ºÏÈÂú×ãÍ£¶Ùʱ¼ä£¬È»ºóÍÌÍÂÁ¿£¬×îºó footprint
һЩ³£ÓÃÅäÖà µ¥´¦ÀíÆ÷ϵͳ»òСÄڴ棬 100M ×óÓÒÄÚ´æ -XX:+UseSerialGC ? ? ¶à´¦ÀíÆ÷ϵͳ£¬ÐèÒª×î´óÍÌÍÂÁ¿²»¹ØÐÄÔÝͣʱ¼ä -XX:+UseParallelGc  -XX:+UseParallelOldGC  ×îСͣ¶Ùʱ¼ä -XX:+UseConcMarkSweepGC  -XX:+ParNewGC,  ÓÐÄÚ´æË鯬£¬ÄÚ´æÔ½´óÔ½ºÃ ??
ÓÅ»¯Ô­Ôò Do Nothing, Èà JVM ×Ô¶¯Ñ¡Ôñ ²»´æÔÚÒ»¸ö¼òµ¥¶øÆÕÊʵÄÔ­Ôò£¬±ØÐë³ä·ÖÀí½âϵͳµÄÐèÇóºÍÌØÕ÷ ÏÈ measure £¬ÔÚ tune ²»Òª¹ý¶È tune ÐèÒªÔÚ¸÷¸öÖ¸±êÖ®¼ä½øÐÐȨºâ
³£ÓÃ¼à¿ØºÍ·ÖÎö¹¤¾ß GC ²ÎÊý -XX £º +PrintGCDetails -XX:  +PrintHeapAtGC  -XX £º +PrintGCTimeStamps -XX:+HeapDumpAfterFullGC -XX:+HeapDumpBeforeFullGC -XX:+HeapDumpOnOutOfMemoryError Jmap ¨Chisto | -heap | -permstat Jstat Jconsole VisualVM HAT £º Heap Analysis Tool
References http://www.oracle.com/technetwork/java/javase/gc-tuning-6-140523.html http://java.sun.com/performance/reference/whitepapers http://www.oracle.com/technetwork/java/faq-140837.html http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html#PerformanceTuning http://blogs.oracle.com/jonthecollector/entry/our_collectors http://java.sun.com/docs/hotspot/VMOptions.html
Thank you
?
?

More Related Content

What's hot (11)

±á²¹»å´Ç´Ç±èѧϰ×ܽá
±á²¹»å´Ç´Ç±èѧϰ×ܽá±á²¹»å´Ç´Ç±èѧϰ×ܽá
±á²¹»å´Ç´Ç±èѧϰ×ܽá
ordinary2012
?
Lua gc´úÂë
Lua gc´úÂëLua gc´úÂë
Lua gc´úÂë
Wei Sun
?
realtime-twitter-search
realtime-twitter-searchrealtime-twitter-search
realtime-twitter-search
ÑǾü Íô
?
Effective linux.3.(diagnosis)
Effective linux.3.(diagnosis)Effective linux.3.(diagnosis)
Effective linux.3.(diagnosis)
wang hongjiang
?
΢²©ÊµÊ±ËÑË÷
΢²©ÊµÊ±ËÑË÷΢²©ÊµÊ±ËÑË÷
΢²©ÊµÊ±ËÑË÷
ÑǾü Íô
?
Effective linux.1.(commandline)
Effective linux.1.(commandline)Effective linux.1.(commandline)
Effective linux.1.(commandline)
wang hongjiang
?
³§³ó±ð±ô±ô,ÐźÅÁ¿ÒÔ¼°Âá²¹±¹²¹½ø³ÌµÄÍ˳ö
³§³ó±ð±ô±ô,ÐźÅÁ¿ÒÔ¼°Âá²¹±¹²¹½ø³ÌµÄÍ˳ö³§³ó±ð±ô±ô,ÐźÅÁ¿ÒÔ¼°Âá²¹±¹²¹½ø³ÌµÄÍ˳ö
³§³ó±ð±ô±ô,ÐźÅÁ¿ÒÔ¼°Âá²¹±¹²¹½ø³ÌµÄÍ˳ö
wang hongjiang
?
Sun jdk 1.6 gc
Sun jdk 1.6 gcSun jdk 1.6 gc
Sun jdk 1.6 gc
bluedavy lin
?
°Â¾±²Ô»å²ú²µÈëÃÅ
°Â¾±²Ô»å²ú²µÈëÃŰ¾±²Ô»å²ú²µÈëÃÅ
°Â¾±²Ô»å²ú²µÈëÃÅ
Ïþ·æ ³Â
?
Java Crash·ÖÎö£¨2012-05-10£©
Java Crash·ÖÎö£¨2012-05-10£©Java Crash·ÖÎö£¨2012-05-10£©
Java Crash·ÖÎö£¨2012-05-10£©
Kris Mok
?
±á²¹»å´Ç´Ç±èѧϰ×ܽá
±á²¹»å´Ç´Ç±èѧϰ×ܽá±á²¹»å´Ç´Ç±èѧϰ×ܽá
±á²¹»å´Ç´Ç±èѧϰ×ܽá
ordinary2012
?
Lua gc´úÂë
Lua gc´úÂëLua gc´úÂë
Lua gc´úÂë
Wei Sun
?
realtime-twitter-search
realtime-twitter-searchrealtime-twitter-search
realtime-twitter-search
ÑǾü Íô
?
Effective linux.3.(diagnosis)
Effective linux.3.(diagnosis)Effective linux.3.(diagnosis)
Effective linux.3.(diagnosis)
wang hongjiang
?
΢²©ÊµÊ±ËÑË÷
΢²©ÊµÊ±ËÑË÷΢²©ÊµÊ±ËÑË÷
΢²©ÊµÊ±ËÑË÷
ÑǾü Íô
?
Effective linux.1.(commandline)
Effective linux.1.(commandline)Effective linux.1.(commandline)
Effective linux.1.(commandline)
wang hongjiang
?
³§³ó±ð±ô±ô,ÐźÅÁ¿ÒÔ¼°Âá²¹±¹²¹½ø³ÌµÄÍ˳ö
³§³ó±ð±ô±ô,ÐźÅÁ¿ÒÔ¼°Âá²¹±¹²¹½ø³ÌµÄÍ˳ö³§³ó±ð±ô±ô,ÐźÅÁ¿ÒÔ¼°Âá²¹±¹²¹½ø³ÌµÄÍ˳ö
³§³ó±ð±ô±ô,ÐźÅÁ¿ÒÔ¼°Âá²¹±¹²¹½ø³ÌµÄÍ˳ö
wang hongjiang
?
°Â¾±²Ô»å²ú²µÈëÃÅ
°Â¾±²Ô»å²ú²µÈëÃŰ¾±²Ô»å²ú²µÈëÃÅ
°Â¾±²Ô»å²ú²µÈëÃÅ
Ïþ·æ ³Â
?
Java Crash·ÖÎö£¨2012-05-10£©
Java Crash·ÖÎö£¨2012-05-10£©Java Crash·ÖÎö£¨2012-05-10£©
Java Crash·ÖÎö£¨2012-05-10£©
Kris Mok
?

Similar to ´³²¹±¹²¹À¬»øÊÕ¼¯Ô­Àí (14)

Java GC Tuning
Java GC TuningJava GC Tuning
Java GC Tuning
pprun
?
Sun jdk 1.6ÄÚ´æ¹ÜÀí -ʹÓÃÆª
Sun jdk 1.6ÄÚ´æ¹ÜÀí -ʹÓÃÆªSun jdk 1.6ÄÚ´æ¹ÜÀí -ʹÓÃÆª
Sun jdk 1.6ÄÚ´æ¹ÜÀí -ʹÓÃÆª
bluedavy lin
?
´³³Õ²ÑÄÚÈݹÜÀíºÍÀ¬»ø»ØÊÕ
´³³Õ²ÑÄÚÈݹÜÀíºÍÀ¬»ø»ØÊÕ´³³Õ²ÑÄÚÈݹÜÀíºÍÀ¬»ø»ØÊÕ
´³³Õ²ÑÄÚÈݹÜÀíºÍÀ¬»ø»ØÊÕ
Tony Deng
?
´³±¹³¾ÄÇЩÊÂ
´³±¹³¾ÄÇЩÊ´³±¹³¾ÄÇЩÊÂ
´³±¹³¾ÄÇЩÊÂ
dynamiclu
?
´³³Õ²Ñ¼°Æäµ÷ÓÅ
´³³Õ²Ñ¼°Æäµ÷ÓÅ´³³Õ²Ñ¼°Æäµ÷ÓÅ
´³³Õ²Ñ¼°Æäµ÷ÓÅ
zhongbing liu
?
´³±¹³¾ÄÚ´æ¹ÜÀí»ù´¡
´³±¹³¾ÄÚ´æ¹ÜÀí»ù´¡´³±¹³¾ÄÚ´æ¹ÜÀí»ù´¡
´³±¹³¾ÄÚ´æ¹ÜÀí»ù´¡
wang hongjiang
?
´³²¹±¹²¹ÄÚ´æ¹ÜÀíÎÊÌâ°¸Àý·ÖÏí
´³²¹±¹²¹ÄÚ´æ¹ÜÀíÎÊÌâ°¸Àý·ÖÏí´³²¹±¹²¹ÄÚ´æ¹ÜÀíÎÊÌâ°¸Àý·ÖÏí
´³²¹±¹²¹ÄÚ´æ¹ÜÀíÎÊÌâ°¸Àý·ÖÏí
bluedavy lin
?
ʵսHotSpot JVM GC
ʵսHotSpot JVM GCʵսHotSpot JVM GC
ʵսHotSpot JVM GC
digitalsonic
?
Sun jdk 1.6ÄÚ´æ¹ÜÀí -µ÷ÓÅÆª-±ÏÐþ
Sun jdk 1.6ÄÚ´æ¹ÜÀí -µ÷ÓÅÆª-±ÏÐþSun jdk 1.6ÄÚ´æ¹ÜÀí -µ÷ÓÅÆª-±ÏÐþ
Sun jdk 1.6ÄÚ´æ¹ÜÀí -µ÷ÓÅÆª-±ÏÐþ
Èñ ÕÅ
?
´³´¡³Õ´¡ÄÚ´æÐ¹Â©¼°Õï¶Ï
´³´¡³Õ´¡ÄÚ´æÐ¹Â©¼°Õï¶Ï´³´¡³Õ´¡ÄÚ´æÐ¹Â©¼°Õï¶Ï
´³´¡³Õ´¡ÄÚ´æÐ¹Â©¼°Õï¶Ï
ivannotes
?
Java trouble shooting
Java trouble shootingJava trouble shooting
Java trouble shooting
Min Zhou
?
Garbage collection
Garbage collectionGarbage collection
Garbage collection
Kim Leo
?
Java GC Tuning
Java GC TuningJava GC Tuning
Java GC Tuning
pprun
?
Sun jdk 1.6ÄÚ´æ¹ÜÀí -ʹÓÃÆª
Sun jdk 1.6ÄÚ´æ¹ÜÀí -ʹÓÃÆªSun jdk 1.6ÄÚ´æ¹ÜÀí -ʹÓÃÆª
Sun jdk 1.6ÄÚ´æ¹ÜÀí -ʹÓÃÆª
bluedavy lin
?
´³³Õ²ÑÄÚÈݹÜÀíºÍÀ¬»ø»ØÊÕ
´³³Õ²ÑÄÚÈݹÜÀíºÍÀ¬»ø»ØÊÕ´³³Õ²ÑÄÚÈݹÜÀíºÍÀ¬»ø»ØÊÕ
´³³Õ²ÑÄÚÈݹÜÀíºÍÀ¬»ø»ØÊÕ
Tony Deng
?
´³±¹³¾ÄÇЩÊÂ
´³±¹³¾ÄÇЩÊ´³±¹³¾ÄÇЩÊÂ
´³±¹³¾ÄÇЩÊÂ
dynamiclu
?
´³³Õ²Ñ¼°Æäµ÷ÓÅ
´³³Õ²Ñ¼°Æäµ÷ÓÅ´³³Õ²Ñ¼°Æäµ÷ÓÅ
´³³Õ²Ñ¼°Æäµ÷ÓÅ
zhongbing liu
?
´³±¹³¾ÄÚ´æ¹ÜÀí»ù´¡
´³±¹³¾ÄÚ´æ¹ÜÀí»ù´¡´³±¹³¾ÄÚ´æ¹ÜÀí»ù´¡
´³±¹³¾ÄÚ´æ¹ÜÀí»ù´¡
wang hongjiang
?
´³²¹±¹²¹ÄÚ´æ¹ÜÀíÎÊÌâ°¸Àý·ÖÏí
´³²¹±¹²¹ÄÚ´æ¹ÜÀíÎÊÌâ°¸Àý·ÖÏí´³²¹±¹²¹ÄÚ´æ¹ÜÀíÎÊÌâ°¸Àý·ÖÏí
´³²¹±¹²¹ÄÚ´æ¹ÜÀíÎÊÌâ°¸Àý·ÖÏí
bluedavy lin
?
ʵսHotSpot JVM GC
ʵսHotSpot JVM GCʵսHotSpot JVM GC
ʵսHotSpot JVM GC
digitalsonic
?
Sun jdk 1.6ÄÚ´æ¹ÜÀí -µ÷ÓÅÆª-±ÏÐþ
Sun jdk 1.6ÄÚ´æ¹ÜÀí -µ÷ÓÅÆª-±ÏÐþSun jdk 1.6ÄÚ´æ¹ÜÀí -µ÷ÓÅÆª-±ÏÐþ
Sun jdk 1.6ÄÚ´æ¹ÜÀí -µ÷ÓÅÆª-±ÏÐþ
Èñ ÕÅ
?
´³´¡³Õ´¡ÄÚ´æÐ¹Â©¼°Õï¶Ï
´³´¡³Õ´¡ÄÚ´æÐ¹Â©¼°Õï¶Ï´³´¡³Õ´¡ÄÚ´æÐ¹Â©¼°Õï¶Ï
´³´¡³Õ´¡ÄÚ´æÐ¹Â©¼°Õï¶Ï
ivannotes
?
Java trouble shooting
Java trouble shootingJava trouble shooting
Java trouble shooting
Min Zhou
?
Garbage collection
Garbage collectionGarbage collection
Garbage collection
Kim Leo
?

´³²¹±¹²¹À¬»øÊÕ¼¯Ô­Àí