ͨ¹ýJava hread dump·ÖÎöÕÒµ½ºÄ·ÑCPU×î¸ßµÄÔ´´úÂë
ͨ¹ýJava hread dump·ÖÎöÕÒµ½ºÄ·ÑCPU×î¸ßµÄÔ´´úÂë
×÷Õߣººú¼Ò»Ô 2010-04-11
×î½ü²úÆ·ÔÚÔËÐйý³ÌÖгöÏÖÁËÐÔÄÜÎÊÌ⣬Ôںܵ͵ÄÁ÷Á¿µÄÇé¿öÏÂCPU¾Í´ïµ½40%£¬Á÷Á¿ÉÔ¸ßʱCPU¾Í´ïµ½98%¡£
²úÆ·ÊÇJavaдµÄ£¬ÔËÐÐÓÚJBOSSƽ̨¡£²Ù×÷ϵͳΪredhat linux¡£µ±Äãͨ¹ýtopÃüÁî·¢ÏÖÄãµÄÓ¦ÓóÌÐòµÄ½ø³ÌÕ¼ÓÃCPU´ï98%ʱ£¬ÎÒÏëÄã¿Ï¶¨ÏëÖªµÀ¾¿¾¹ÊÇÄĸöµØ·½ºÄ·ÑÁËÈç´ËµÄCPU´¦Àíʱ¼ä¡£Í¨¹ýthread dump·ÖÎö¾Í¿ÉÒÔÕÒµ½£¬µ«ÕâÖ»Êǽâ¾öÎÊÌâµÄµÚÒ»²½£¬¼´ÕÒµ½ÎÊÌâµÄËùÔÚ¡£
Ê×ÏÈ£ºÈçºÎ²úÉúthread dumpÈÕÖ¾£¿
µÚÒ»²½£ºÕÒµ½Ó¦ÓóÌÐòËùÔڵĽø³ÌºÅ£¬Í¨¹ýtopÃüÁî¿ÉÒÔÕÒµ½£¬²»ÏêÊö¡£
µÚ¶þ²½£ºÖ´ÐÐkill -3 pid»ñÈ¡thread dumpÈÕÖ¾£¨pid¾ÍÊǵÚÒ»²½»ñÈ¡µ½µÄ£©¡£×¢Ò⣺ÔÚ²»Í¬µÄlinux»·¾³ÏÂÖ´ÐÐÊä³öµÄÈÕÖ¾µÄµØ·½¿ÉÄܲ»Í¬¡£ÔÚIBMµÄPowerPCСÐÍ»úÉϵÄlinuxÉÏÖ´ÐÐkill -3 pid»áÔÚ¹¤×÷Ŀ¼Ï²úÉúÀàËÆjavacore.20100409.161739.7614.0001.txtµÄÎļþ¡£¶øÔÚÎÒËùÔڵĻ·¾³ÖУ¬thread dumpÐÅÏ¢Êä³öµ½JBOSSµÄÈÕÖ¾ÎļþÖеġ£
Æä´Î£º»ñÈ¡Ïß³ÌÐÅÏ¢
´ó¶àÊý·þÎñÆ÷Ó¦Óö¼ÊǶàỊ̈߳¬Òò´Ë±ØÐë²éµ½¾ßÌåÊÇÄÄЩÏß³ÌÕ¼ÓõÄCPU¸ß¡£Í¨¹ýtop –HÃüÁî¿ÉÒԲ鿴µ½Ó¦ÓóÌÐòµÄÏß³ÌÐÅÏ¢¼°Õ¼ÓÃCPUµÄÇé¿ö¡£
ÈçÏÂËùʾ£º
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4280 nbg-syst 18 0 3608m 2.0g 21m R 93.6 25.9 5004:49 java
4279 nbg-syst 18 0 3608m 2.0g 21m R 92.6 25.9 4876:40 java &
Ïà¹ØÎĵµ£º
ºÜÔç֮ǰд¹ýÀûÓ÷ºÐͺͷ´Éä»úÖÆ³éÏóDAO £¬¶ÔÆäÖлñÈ¡×ÓÀà·ºÐ͵ÄclassÒ»Ö±²»ÊǺÜÀí½â¡£¹Ø¼üµÄµØ·½ÊÇHibernateBaseDaoµÄ¹¹Ôì·½·¨ÖеÄ
Type genType = getClass().getGenericSuperclass();
Type[] params = ((ParameterizedType) genType).getActualTypeArguments();
entityClass = (Class)params[0] ......
Java Cglib
1.CGLIB°üµÄ½éÉÜ
´úÀíΪ¿ØÖÆÒª·ÃÎʵÄÄ¿±ê¶ÔÏóÌṩÁËÒ»ÖÖ;¾¶¡£µ±·ÃÎʶÔÏóʱ£¬ËüÒýÈëÁËÒ»¸ö¼ä½ÓµÄ²ã¡£JDK×Ô´Ó1.3°æ±¾¿ªÊ¼£¬¾ÍÒýÈëÁ˶¯Ì¬´úÀí£¬²¢ÇÒ¾³£±»ÓÃÀ´¶¯Ì¬µØ´´½¨´úÀí¡£JDKµÄ¶¯Ì¬´úÀíÓÃÆðÀ´·Ç³£¼òµ¥£¬µ±ËüÓÐÒ»¸öÏÞÖÆ£¬¾ÍÊÇʹÓö¯Ì¬´úÀíµÄ¶ÔÏó±ØÐëʵÏÖÒ»¸ö»ò¶à¸ö½Ó¿Ú¡£Èç¹ûÏë´úÀ ......
µ¥ÀýģʽµÄʵÏÖ·½Ê½ÓкܶàÖÖ£¬ÔÚÕâÀï½éÉÜ×î¼òµ¥µÄÁ½ÖÖ¡£
µ¥ÀýģʽÄܹ»È·±£Ò»¸öÀàÖ»ÓÐÒ»¸öʵÀý£¨Õý³£Çé¿öÎÒÃÇ¿ÉÒÔnew³öÒ»¸öÀàµÄÎÞÊý¸öʵÀý£©£¬×ÔÐÐÌṩÕâ¸öʵÀý²¢ÏòÕû¸öϵͳÌṩÕâ¸öʵÀý¡£ÏÂÃæ½éÉܵ¥ÀýģʽµÄʵÏÖ·½·¨£º
1. µ¥ÀýģʽÓÐÁ½ÖÖʵÏÖ·½Ê½£ºÒ»ÖÖÊǽ«Àൠ......
1¡¢ ÈÏʶThreadºÍRunnable
JavaÖÐʵÏÖ¶àÏß³ÌÓÐÁ½ÖÖ;¾¶£º¼Ì³ÐThreadÀà»òÕßʵÏÖRunnable½Ó¿Ú¡£RunnableÊǽӿڣ¬½¨ÒéÓýӿڵķ½Ê½Éú³ÉỊ̈߳¬ÒòΪ½Ó¿Ú¿ÉÒÔʵÏÖ¶à¼Ì³Ð£¬¿öÇÒRunnableÖ»ÓÐÒ»¸örun·½·¨£¬ºÜÊʺϼ̳С£ÔÚʹÓÃThreadµÄʱºòÖ»Ðè¼Ì³ÐThread£¬²¢ÇÒnewÒ»¸öʵÀý³öÀ´£¬µ÷ÓÃstart()·½·¨¼´¿ÉÒÔÆô¶¯Ò»¸öÏ̡߳£
Thread Test = ......