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µÄƵ¶È»¹ÊǺܸߵģ¬Ö÷ÒªÁ½ÖÖÇé¿öϽøÐÐÀ¬»ø»ØÊÕ£º µ±Ó¦ÓóÌÐòÏ߳̿ÕÏУ»ÁíÒ»¸ö
Ïà¹ØÎĵµ£º
½ñÌìÎÒѧϰÁË·´ÉäÓë¶àÏ̵߳Ä֪ʶ
·´É䣺Class cls1=Date.class//×Ö½ÚÂë1£»
Class cls2=Person.class//×Ö½ÚÂë2£»
P1.getClass();//µÃµ½×Ö½ÚÂë
Class.forName(“java.lang.String”) //µÃµ½Õâ¸öÀàµÄ×Ö½ÚÂë
ºǫ́Ïß³ÌÓëÁªºÏÏß³Ì
l & ......
Â¥Ö÷·¢±íÓÚ£º2008-06-17 15:26:20
l JBS
1.Áоٳö 10¸öJAVAÓïÑÔµÄÓÅÊÆ
a:Ãâ·Ñ£¬¿ªÔ´£¬¿çƽ̨(ƽ̨¶ÀÁ¢ÐÔ)£¬¼òµ¥Ò×Ó㬹¦ÄÜÍêÉÆ£¬ÃæÏò¶ÔÏ󣬽¡×³ÐÔ£¬¶àỊ̈߳¬½á¹¹ÖÐÁ¢£¬ÆóÒµÓ¦ÓõijÉÊìÆ½Ì¨, ÎÞÏßÓ¦ÓÃ
2.ÁоٳöJAVAÖÐ10¸öÃæÏò¶ÔÏó±à³ÌµÄÊõÓï
a:°ü£¬À࣬½Ó¿Ú£¬¶ÔÏó£¬ÊôÐÔ£¬·½·¨£¬¹¹ÔìÆ÷ ......
ÔÎÄ£º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Æ½Ì ......
Java™ ÓïÑÔ°üº¬Á½ÖÖÄÚÔÚµÄͬ²½»úÖÆ£ºÍ¬²½¿é£¨»ò·½·¨£©ºÍ volatile ±äÁ¿¡£ÕâÁ½ÖÖ»úÖÆµÄÌá³ö¶¼ÊÇΪÁËʵÏÖ´úÂëÏ̵߳ݲȫÐÔ¡£ÆäÖÐ Volatile ±äÁ¿µÄͬ²½ÐԽϲµ«ÓÐʱËü¸ü¼òµ¥²¢ÇÒ¿ªÏú¸üµÍ£©£¬¶øÇÒÆäʹÓÃÒ²¸üÈÝÒ׳ö´í¡£ÔÚÕâÆÚµÄ Java ÀíÂÛÓëʵ¼ù
ÖУ¬Brian Goetz ½«½éÉܼ¸ÖÖÕýȷʹÓà volatile ±äÁ¿µÄģʽ£¬²¢Õ ......