JAVAÄÚ´æÒç³ö½âÎö
ÔÒòÓкܶàÖÖ£¬±ÈÈ磺
1.Êý¾ÝÁ¿¹ýÓÚÅÓ´ó£»ËÀÑ»·
£»¾²Ì¬±äÁ¿ºÍ¾²Ì¬·½·¨¹ý¶à£»µÝ¹é£»ÎÞ·¨È·¶¨ÊÇ·ñ±»ÒýÓõĶÔÏó£»
2.ÐéÄâ»ú²»»ØÊÕÄڴ棨ÄÚ´æÐ¹Â©£©£»
˵°×Á˾ÍÊdzÌÐòÔËÐÐÒªÓõ½µÄÄÚ´æ´óÓÚÐéÄâ»úÄÜÌṩµÄ×î´óÄÚ´æ¾Í·¢ÉúÄÚ´æÒç³öÁË¡£
ÄÚ´æÒç³öµÄÎÊÌâÒª¿´ÒµÎñºÍϵͳ´óС¶ø¶¨£¬¶ÔÓÚijЩϵͳ¿ÉÄÜÄÚ´æÒç³ö²»³£¼û£¬µ«Ä³Ð©ÏµÍ³»¹ÊǺܳ£¼ûµÄ½â¾öµÄ·½·¨£¬
Ò»¸öÊÇÓÅ»¯³ÌÐò´úÂ룬Èç¹ûÒµÎñÅÓ´ó£¬Âß¼¸´ÔÓ£¬¾¡Á¿¼õÉÙÈ«¾Ö±äÁ¿µÄÒýÓã¬ÈóÌÐòʹÓÃÍê±äÁ¿µÄʱºòÊͷŸÃÒýÓÃÄܹ»ÈÃÀ¬»ø»ØÊÕÆ÷»ØÊÕ£¬ÊÍ·Å×ÊÔ´¡£
¶þ¾ÍÊÇÎïÀí½â¾ö£¬Ôö´óÎïÀíÄڴ棬Ȼºóͨ¹ý£º-Xms256m
-Xmx256m -XX:MaxNewSize=256m -XX:MaxPermSize=256mµÄÐÞ¸Ä
Ò»¡¢ÄÚ´æÒç³öÀàÐÍ
1
¡¢ java.lang.OutOfMemoryError: PermGen space
JVM
¹ÜÀíÁ½ÖÖÀàÐ͵ÄÄڴ棬¶ÑºÍ·Ç¶Ñ¡£¶ÑÊǸø¿ª·¢ÈËÔ±ÓõÄÉÏÃæËµµÄ¾ÍÊÇ£¬ÊÇÔÚ JVM Æô¶¯Ê±´´½¨£»·Ç¶ÑÊÇÁô¸ø JVM ×Ô¼ºÓõģ¬ÓÃÀ´´æ·ÅÀàµÄÐÅÏ¢µÄ¡£ËüºÍ¶Ñ²»Í¬£¬ÔËÐÐÆÚÄÚ
GC ²»»áÊͷſռ䡣Èç¹û web app ÓÃÁË´óÁ¿µÄµÚÈý·½ jar »òÕßÓ¦ÓÃÓÐÌ«¶àµÄ class Îļþ¶øÇ¡ºÃ MaxPermSize
ÉèÖýÏС£¬³¬³öÁËÒ²»áµ¼ÖÂÕâ¿éÄÚ´æµÄÕ¼Óùý¶àÔì³ÉÒç³ö£¬»òÕß tomcat ÈȲ¿Êðʱºî²»»áÇåÀíÇ°Ãæ¼ÓÔØµÄ»·¾³£¬Ö»»á½« context
¸ü¸ÄΪв¿ÊðµÄ£¬·Ç¶Ñ´æµÄÄÚÈݾͻáÔ½À´Ô½¶à¡£
2
¡¢ java.lang.OutOfMemoryError: Java heap space
µÚÒ»ÖÖÇé¿öÊǸö²¹³ä£¬Ö÷Òª´æÔÚÎÊÌâ¾ÍÊdzöÏÖÔÚÕâ¸öÇé¿öÖС£ÆäĬÈϿռä
( ¼´ -Xms) ÊÇÎïÀíÄÚ´æµÄ 1/64 £¬×î´ó¿Õ¼ä (-Xmx) ÊÇÎïÀíÄÚ´æµÄ 1/4 ¡£Èç¹ûÄÚ´æÊ£Ó಻µ½ 40 £¥£¬ JVM ¾Í»áÔö´ó¶Ñµ½ Xmx
ÉèÖõÄÖµ£¬ÄÚ´æÊ£Ó೬¹ý 70 £¥£¬ JVM ¾Í»á¼õС¶Ñµ½ Xms ÉèÖõÄÖµ¡£ËùÒÔ·þÎñÆ÷µÄ Xmx ºÍ Xms ÉèÖÃÒ»°ãÓ¦¸ÃÉèÖÃÏàͬ±ÜÃâÿ´Î GC
ºó¶¼Òªµ÷ÕûÐéÄâ»ú¶ÑµÄ´óС¡£¼ÙÉèÎïÀíÄÚ´æÎÞÏÞ´ó£¬ÄÇô JVM ÄÚ´æµÄ×î´óÖµ¸ú²Ù×÷ϵͳÓйأ¬Ò»°ã 32 λ»úÊÇ 1.5g µ½ 3g Ö®¼ä£¬¶ø 64
λµÄ¾Í²»»áÓÐÏÞÖÆÁË¡£
×¢Ò⣺Èç¹û
Xms ³¬¹ýÁË Xmx Öµ£¬»òÕß¶Ñ×î´óÖµºÍ·Ç¶Ñ×î´óÖµµÄ×ܺͳ¬¹ýÁËÎïÀíÄÚ´æ»òÕß²Ù×÷ϵͳµÄ×î´óÏÞÖÆ¶¼»áÒýÆð·þÎñÆ÷Æô¶¯²»ÆðÀ´¡£
À¬»ø»ØÊÕ
GC µÄ½ÇÉ«
JVM
µ÷Óà GC µÄƵ¶È»¹ÊǺܸߵģ¬Ö÷ÒªÁ½ÖÖÇé¿öϽøÐÐÀ¬»ø»ØÊÕ£º
µ±Ó¦ÓóÌÐòÏ߳̿ÕÏУ»ÁíÒ»¸öÊÇ
java ÄÚ´æ¶Ñ²»×ãʱ£¬»á²»¶Ïµ÷Óà GC £¬ÈôÁ¬Ðø»ØÊÕ¶¼½â¾ö²»ÁËÄÚ´æ¶Ñ²»×ãµÄÎÊÌâʱ£¬¾Í»á±¨ out of memory
´íÎó¡£ÒòΪÕâ¸öÒì³£¸ù¾ÝϵͳÔËÐл·¾³¾ö¶¨£¬ËùÒÔÎÞ·¨Ô¤ÆÚËüºÎʱ³öÏÖ¡£
¸ù¾Ý
GC
Ïà¹ØÎĵµ£º
Javaѧϰ´ÓÈëÃŵ½¾«Í¨
Ò»¡¢ JDK (Java Development Kit)
JDKÊÇÕû¸öJavaµÄºËÐÄ£¬°üÀ¨ÁËJavaÔËÐл·¾³£¨Java Runtime Envirnment£©£¬Ò»¶ÑJava¹¤¾ßºÍJava»ù´¡µÄÀà¿â(rt.jar)¡£²»ÂÛʲôJavaÓ¦Ó÷þÎñÆ÷ʵÖʶ¼ÊÇÄÚÖÃÁËij¸ö°æ±¾µÄJDK¡£Òò´ËÕÆÎÕJDKÊÇѧºÃJavaµÄµÚÒ»²½¡£×îÖ÷Á÷µÄJ ......
ÔÎÄ£ºSome Java Concurrency Tips
×÷ÕߣºCarol McDonald
³ö´¦£º
http://weblogs.java.net/blog/caroljmcdonald/archive/2009/09/17/some-java-concurrency-tips
ÕâÊÇÀ´×ÔJoshua Bloch¡¢Brian GoetzºÍÆäËûÈ˵ÄÒ»¸ö¹ØÓÚһЩ²¢·¢¼¼ÇɵĻã×Ü¡£
Ê×ÏÈÑ¡Ôñ²»¿É±äµÄ¶ÔÏó/Êý¾Ý
²»¿É±ä¶ÔÏó£¨immutable ......
¼ò½é
¡¡¡¡Java Card ¼¼ÊõÊÊÓÃÓÚ Java ƽ̨£¬¿ÉÓ¦ÓÃÓÚ»·¾³¸ß¶ÈרÓû¯¡¢ÄÚ´æºÍ´¦ÀíÔ¼Êø±È J2ME É豸¸ü¿Á¿ÌµÄÖÇÄÜ¿¨ºÍÆäËûÉ豸¡£
¡¡¡¡ÖÇÄÜ¿¨ÔÚ¸öÈ˰²È«ÁìÓò·¢»ÓמÙ×ãÇáÖØµÄ×÷Óá£ËüÃÇ¿ÉÒÔÓÃÓÚÌí¼ÓÉí·ÝÑéÖ¤£¬²¢¶Ô°²È«¼¶±ðºÜ¸ßµÄÐÅϢϵͳÌṩ°²È«·ÃÎÊ¡£´æ´¢ÔÚÖÇÄÜ¿¨ÖеÄÐÅÏ¢ÊÇ¿ÉÒÆÖ²µÄ¡£½èÖú Java Card ¼¼Êõ£¬Äú¿ÉÒÔÐ ......
¡¡Java Card Ó¦ÓóÌÐòµÄÔªËØ
¡¡¡¡Çë¼Çס£¬Java Card Ó¦ÓóÌÐò²¢²»ÊǶÀÁ¢µÄ£¬¶øÊǶ˵½¶ËÓ¦ÓóÌÐòµÄÒ»²¿·Ö:
ͼ 1. Java Card Ó¦ÓóÌÐòµÄµäÐÍ×é¼þ
¡¡¡¡Java Card Ó¦ÓóÌÐòͨ³£ÓÉÒÔϲ¿·Ö×é³É£º
¡¡¡¡Ìṩºǫ́·þÎñ£¨ÀýÈç±£´æÔÚÊý¾Ý¿âÖеݲȫ»òÕßµç×ÓÖ§¸¶ÐÅÏ¢£©·ÃÎ浀 ºǫ́ӦÓóÌÐò¡£ÈçºÎ¿ª·¢ºǫ́ӦÓóÌÐò³¬³öÁ˱¾Îĵ ......
¡¡¡¡Ê×ÏȽâÊÍÁ½¸ö¸ÅÄî,ºÎΪÐòÁл¯?ºÎΪ·´ÐòÁл¯?
¡¡¡¡ÐòÁл¯:½«¶ÔÏóת»¯³ÉÁ÷µÄ¹ý³Ì³ÆÎªÐòÁл¯
¡¡¡¡·´ÐòÁл¯:½«Á÷ת»¯³É¶ÔÏóµÄ¹ý³Ì³ÆÖ®Îª·´ÐòÁл¯
¡¡¡¡ÐòÁл¯Óë·´ÐòÁл¯±ØÐë×ñÊØµÄÔÔò
¡¡¡¡a) Java¶ÔÏó
¡¡¡¡ÔÚjavaÖÐÒªÏëʹһ¸öjava¶ÔÏó¿ÉÒÔʵÏÖÐòÁл¯Óë·´ÐòÁл¯,±ØÐëÈøÃÀàʵÏÖjava.io.Serializable½Ó¿Ú
¡¡¡¡java.io.S ......