JavaÄÚ´æÒç³öµÄÏêϸ½â¾ö·½°¸(ת)
±¾ÎĽéÉÜÁËJavaÄÚ´æÒç³öµÄÏêϸ½â¾ö·½°¸¡£±¾ÎÄ×ܽáÄÚ´æÒç³öÖ÷ÒªÓÐÁ½ÖÖÇé¿ö£¬¶øJVM¾³£µ÷ÓÃÀ¬»ø»ØÊÕÆ÷½â¾öÄÚ´æ¶Ñ²»×ãµÄÎÊÌ⣬µ«ÊÇÓÐʱÈÔ»áÓÐÄÚ´æ²»×ãµÄ´íÎó¡£×÷Õß·ÖÎöÁËJVMÄÚ´æÇøÓò×é³É¼°JVMÉèÖÃÐéÄâÄÚ´æµÄ·½Ê½£¬´Ó¶ø¸ø³öÁËһϵÁнâ¾ö·½°¸¡£ Ò»¡¢ÄÚ´æÒç³öÀàÐÍ 1¡¢java.lang.OutOfMemoryError: PermGen space JVM¹ÜÀíÁ½ÖÖÀàÐ͵ÄÄڴ棬¶ÑºÍ·Ç¶Ñ¡£¶ÑÊǸø¿ª·¢ÈËÔ±ÓõÄÉÏÃæËµµÄ¾ÍÊÇ£¬ÊÇÔÚJVMÆô¶¯Ê±´´½¨£»·Ç¶ÑÊÇÁô¸øJVM×Ô¼ºÓõģ¬ÓÃÀ´´æ·ÅÀàµÄÐÅÏ¢µÄ¡£ËüºÍ¶Ñ²»Í¬£¬ÔËÐÐÆÚÄÚGC²»»áÊͷſռ䡣Èç¹ûweb appÓÃÁË´óÁ¿µÄµÚÈý·½jar»òÕßÓ¦ÓÃÓÐÌ«¶àµÄclassÎļþ¶øÇ¡ºÃMaxPermSizeÉèÖýÏС£¬³¬³öÁËÒ²»áµ¼ÖÂÕâ¿éÄÚ´æµÄÕ¼Óùý¶àÔì³ÉÒç³ö£¬»òÕßtomcatÈȲ¿Êðʱºî²»»áÇåÀíÇ°Ãæ¼ÓÔØµÄ»·¾³£¬Ö»»á½«context¸ü¸ÄΪв¿ÊðµÄ£¬·Ç¶Ñ´æµÄÄÚÈݾͻáÔ½À´Ô½¶à¡£ PermGen spaceµÄÈ«³ÆÊÇPermanent Generation space,ÊÇÖ¸ÄÚ´æµÄÓÀ¾Ã±£´æÇøÓò£¬Õâ¿éÄÚ´æÖ÷ÒªÊDZ»JVM´æ·ÅClassºÍMetaÐÅÏ¢µÄ,ClassÔÚ±»Loaderʱ¾Í»á±»·Åµ½PermGen spaceÖУ¬ËüºÍ´æ·ÅÀàʵÀý(Instance)µÄHeapÇøÓò²»Í¬,GC(Garbage Collection)²»»áÔÚÖ÷³ÌÐòÔËÐÐÆÚ¶ÔPermGen space½øÐÐÇåÀí£¬ËùÒÔÈç¹ûÄãµÄÓ¦ÓÃÖÐÓкÜCLASSµÄ»°,¾ÍºÜ¿ÉÄܳöÏÖPermGen space´íÎó£¬ÕâÖÖ´íÎó³£¼ûÔÚweb·þÎñÆ÷¶ÔJSP½øÐÐpre compileµÄʱºò¡£Èç¹ûÄãµÄWEB APP϶¼ÓÃÁË´óÁ¿µÄµÚÈý·½jar, Æä´óС³¬¹ýÁËjvmĬÈϵĴóС(4M)ÄÇô¾Í»á²úÉú´Ë´íÎóÐÅÏ¢ÁË¡£ Ò»¸ö×î¼ÑµÄÅäÖÃÀý×Ó£º(¾¹ý±¾ÈËÑéÖ¤£¬×Ô´ÓÓôËÅäÖÃÖ®ºó£¬ÔÙδ³öÏÖ¹ýtomcatËÀµôµÄÇé¿ö) set JAVA_OPTS=-Xms800m -Xmx800m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m 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 NIO APIÏê½â
ÔÚJDK
1.4ÒÔǰ£¬JavaµÄIO²Ù×÷¼¯ÖÐÔÚjava.ioÕâ¸ö°üÖУ¬ÊÇ»ùÓÚÁ÷µÄ×èÈû£¨blocking£©API¡£¶ÔÓÚ´ó¶àÊýÓ¦ÓÃÀ´Ëµ£¬ÕâÑùµÄAPIʹÓúܷ½
±ã£¬È»¶ø£¬Ò»Ð©¶ÔÐÔÄÜÒªÇó½Ï¸ßµÄÓ¦Óã¬ÓÈÆäÊÇ·þÎñ¶ËÓ¦Óã¬ÍùÍùÐèÒªÒ»¸ö¸üΪÓÐЧµÄ·½Ê½À´´¦ÀíIO¡£´ÓJDK 1.4Æð£¬NIO
API×÷Ϊһ¸ö»ùÓÚ»º³åÇø£¬²¢ÄÜÌṩ·Ç×èÈû(non-blo ......
C++ÓëJavaÒìͬ
1¡¢Ö¸Õë¡ï¡ï¡ï¡ï¡ï
C C++ÖеÄÖ¸Õ룬ÌṩÁ˺ܴóµÄÁé»îÐÔ£¬µ«ÊÇÁé»îÒ²´øÀ´ÁËΣÏÕ£¬¶ÔÖ¸Õë²Ù×÷µÄ²»µ±ÈÝÒ×Ôì³ÉÄÚ´æÐ¹Â¶»òÊÇ¿ÕÐüÖ¸ÕëµÈÎÊÌâ¡£
JavaÈ¡ÏûÁËÖ¸Õë¡£µ«Êµ¼ÊÉÏ£¬javaÖÐÉùÃ÷µÄËùÓÐÒýÓÃÊý¾ÝÀàÐ͵ÄÃû³Æ£¬¿ÉÒÔÀí½âΪ¾ÍÊÇÒ»¸öÖ¸Õë¡£¸ÃÃû³Æ´æ´¢ÔÚÕ»ÄÚ´æÉÏ£¬Ö¸Ïò¶ÔÄÚ´æÉÏʹÓÃnew¿ª±ÙµÄ¿Õ¼ä¡£
È磺
int[] ......
½ñÌìÎÒÔÚÌýÕÅТÏéÀÏʦ½²µÄJava¼ÓÇ¿ÊÓÆµ£¬ÕÅÀÏʦ˵£ºJava»ù´¡¼Óǿ֪ʶ´ú±íÁËÒ»ÖÖjava¹¦Á¦£¬Ò²´ú±íÁËÄãµÄѧϰÄÜÁ¦£¬ÄÜÕÆÎÕÕâЩ֪ʶ˵Ã÷ÄãÒÔǰµÄѧϰÄÜÁ¦²»´í£¬¾ß±¸ÕâЩ֪ʶ£¬Ò²ËµÃ÷ÄãδÀ´ÕÆÎÕÐÂ֪ʶµÄDZÄܲ»´í¡£ÎÒ¾õµÃÕÅÀÏʦ˵µÄÓеÀÀí£¬ÎÒµÄJava»ù´¡²»ÊǺܺã¬Òò´Ë£¬ÎÒÒªºÃºÃѧѧÕÅÀÏʦ½²µÄ»ù´¡¼ÓÇ¿ÊÓÆµ¡£
Ê×ÏÈÕÅÀÏ ......
JAVA¿ª·¢Õß×ȥµÄ20¸öÓ¢ÎÄÍøÕ¾
1.[http://www.javaalmanac.com] – Java¿ª·¢ÕßÄê¼øÒ»ÊéµÄÔÚÏß°æ±¾. ÒªÏë¿ìËٲ鵽ijÖÖJava¼¼ÇɵÄÓ÷¨¼°Ê¾Àý´úÂë, ÕâÊÇÒ»¸ö²»´íµÄÈ¥´¦.
2.[http://www.onjava.com] – O’ReillyµÄJavaÍøÕ¾. ÿÖܶ¼ÓÐÐÂÎÄÕÂ.
3.[http://java.sun.com] – ¹Ù·½µÄJava¿ª·¢ÕßÍøÕ¾ &ndash ......
ÔÎÄ£ºDependency Injection in Java EE 6 – Part 1
×÷ÕߣºReza Rahman
³ö´¦£ºhttp://www.theserverside.com/tt/articles/article.tss?l=DependencyInjectioninJavaEE6
ÕâÒ»ÎÄÕÂϵÁнéÉÜÁËJava EEµÄÉÏÏÂÎĺÍÒÀÀµ×¢È루Contexts and Dependency Injection for Java EE£¬CDI£©£¬CDIÊǼ´½«Íê³ÉµÄJava EE 6Æ½Ì ......