¡¡¡¡inkfish·Ò룬ÇëÎðÉÌÒµÐÔÖÊ×ªÔØ£¬×ªÔØÇë×¢Ã÷À´Ô´£¨http://blog.csdn.net/inkfish
£©¡£±¾ÎÄÊÇÎÒѧϰJUELͬʱ£¬¶ÔÔÍøÕ¾½øÐеļòµ¥µÄ·Ò룬ÔÍøÕ¾µØÖ·£ºhttp://juel.sourceforge.net/guide/basic/index.html
¡£
»ù±¾ÀࣨBasic Classes£©
¡¡¡¡ÕâÒ»²¿·Ö¹ýÒ»ÏÂJUELÌṩµÄ¾ßÌåµÄһЩÀ࣬ÕâЩÀà×é³ÉÁ˼ÆËã¹ý³ÌµÄºËÐÄ£ºËüÃÇ×é³ÉÁ˱í´ïʽµÄ¹¤³§ºÍ±äÁ¿¡£
¡¡¡¡ÎÒÃDz¢²»ËµÃ÷ÄÚ²¿µÄÐÐΪ£¬ÕâЩÐÐΪÒѾÔÚ³¬ÀàAPIÖÐÃèÊöÁË¡£²¢ÇÒ£¬ÎÒÃǸü×¢ÖØÓÚJUELÌṩµÄ·½·¨£¬ ¶ø²»ÊÇʵÏÖÒ»Ð©ÌØÊâϸ½Ú¡£ ......
¡¡¡¡inkfish·Ò룬ÇëÎðÉÌÒµÐÔÖÊ×ªÔØ£¬×ªÔØÇë×¢Ã÷À´Ô´£¨http://blog.csdn.net/inkfish
£©¡£±¾ÎÄÊÇÎÒѧϰJUELͬʱ£¬¶ÔÔÍøÕ¾½øÐеļòµ¥µÄ·Ò룬ÔÍøÕ¾µØÖ·£ºhttp://juel.sourceforge.net/guide/basic/factory.html
¡£ËµÊµ»°£¬ÕâÆª·ÒëµÄµÄÈ·²»ÔõÑù¡£
±í´ïʽ¹¤³§£¨Expression Factory£©
¡¡¡¡Èç¹ûҪʹÓÃEL
£¬¾Í±ØÐëÒªÓÐÒ»¸öjavax.el.ExpressionFactory
µÄʵÀý¡£±í´ïʽ¹¤³§ÓÃÓÚ´´½¨¶àÖÖÀàÐ͵ıí´ïʽ¡£JUEL
µÄ±í´ïʽ¹¤³§ÊµÏÖÀàÊÇde.odysseus.el.ExpressionFactoryImpl
£¬»ñµÃ±í´ïʽ¹¤³§ÊµÀýµÄ×î·½±ã·½·¨ÊÇ£º
javax.el.ExpressionFactory factory = new de.odysseus.el.ExpressionFactoryImpl();
¡¡¡¡±í´ïʽ¹¤³§ÊÇḬ̈߳²È«µÄ£¬ÔÊÐí´´½¨ÊýÁ¿²»Ï޵ıí´ïʽ¡£±í´ïʽ¹¤³§ÌṩÏÂÃæµÄ²Ù×÷£º
ÌṩÀàÐÍÇ¿ÖÆ×ª»»£¨Type coercions£©
´´ÔìÊ÷×´Öµ±í´ïʽ£¨Tree value expressions£©
´´½¨¶ÔÏóÖµ±í´ïʽ£¨Object value expressions£©
´´½¨Ê÷×´·½·¨±í´ïʽ£¨Tree method expressions£©
±í´ïʽ»º´æ
¡¡¡¡Ã¿Ò»¸ö¹¤³§ÊµÀýʹÓÃËü×Ô¼ºµÄ±í´ïʽ»º´æ¡£»º´æµÄ±í´ïʽÊÇÒ»¸öºÜÖØÒªµÄÌØÐÔ£¬ÒòΪ½âÎöÊÇÒ»¸öÏà¶Ô°º¹óµÄ²Ù×÷¡£Ò»¸ö±í´ïʽ»º´æÓ³Éä±í´ïʽ×Ö·û´®µ½ËûÃÇÒѾ½âÎö¹ýµÄ±í´ï·½Ê½£¨Ê÷£©¡£
¡¡¡¡ ......
writeTo·½·¨¿ÉÒÔ°ÑmessageÐÅϢдÈëOutputStream£¬´Ó洏¿ÉÒÔ±£洊³åemlÎļþ¡£ÏîÄ¿ÖÐÒ»個å¦浗ÊÇÐèÒª°ÑemlÎļþ¶ÁÈë並½âÎö¡£
×Ô¼ºÊµÏÖ½âÎöµ±È»¿ÉÒÔ£¬²»¹ýͦ¸´Ôӵģ¬ÒªÊµÏÖÐÅϢͷµÄ·ÖÎö£¬ÐÅÏ¢±¾ÌâµÄ·ÖÎö...Ê×ÏÈÏëµ½µÄ當È»ÊÇjavamail±¾Éí哋¹¦ÄÜ¡£
ÔÚgoogleËÑË÷ÁËһϣ¬¹ûÈ»ÕÒµ½ÁË£º
MimeMessage(Session session, java.io.InputStream is)
Constructs a MimeMessage by reading and parsing the data from the specified MIME InputStream.
javamailÖÐMimeMessageÀàµÄÒ»¸ö¹¹Ô캯Êý¿ÉÒÔ½ÓÊÕInputStream£¬ÕâÑù¾Í¼òµ¥ÁË£¬Ö»ÒªÓÃFileInputStream¶ÁÈëÎļþ¼´¿É:)
ÐèҪעÒâµÄ湜Õâ¸ö¹¹Ôì凾Êý»¹ÐèÒªÒ»¸öSession²ÎÊý£¬¿´ÍøÉϵÄÀý×ÓÊÇÓÃsmtp·þÎñÆ÷µÄÐÅÏ¢À´ÌîÜûÕâ¸ösessionµÄ£¬µ«ÊÇÎÒÏëÕâ¸ösession¿ÉÄÜ湜ÓÃÀ´·¢Óʼþ£¬»òÕßת·¢Óõģ¬Ëùæ¦ä²¹û²»·¢ËÍÓʼþ£¬½ö僅ÊǶÁÈëeml²¢½âÎö£¬Ëæ±ãÒ»¸ösessionµÄʵÁ¦à½¿ÉÒÔ¡£ÊµÏÖ·¨·¨ÈçÏ£º
public void readEmlFile(String fileName) throws MessagingException {
try {
//TODO readEmlFile
InputStream fis = new FileInputStream(fileName);
Object emlObj = (Object)fis;
S ......
GCÊÇÀ¬»øÊÕ¼¯µÄÒâ˼£¨Garbage Collection£©,ÄÚ´æ´¦ÀíÊDZà³ÌÈËÔ±ÈÝÒ׳öÏÖÎÊÌâµÄµØ·½£¬Íü¼Ç»òÕß´íÎóµÄÄÚ´æ»ØÊջᵼÖ³ÌÐò»òϵͳµÄ²»Îȶ¨ÉõÖÁ±ÀÀ££¬JavaÌṩµÄGC¹¦ÄÜ¿ÉÒÔ×Ô¶¯¼à²â¶ÔÏóÊÇ·ñ³¬¹ý×÷ÓÃÓò´Ó¶ø´ïµ½×Ô¶¯»ØÊÕÄÚ´æµÄÄ¿µÄ£¬JavaÓïÑÔûÓÐÌṩÊÍ·ÅÒÑ·ÖÅäÄÚ´æµÄÏÔʾ²Ù×÷·½·¨¡£
Ò»¡¢ÄÚ´æÒç³öÀàÐÍ
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ÉèÖÃÒ ......
ÄÚ´æÒç³öÓëÊý¾Ý¿âËø±íµÄÎÊÌ⣬¿ÉÒÔ˵ÊÇ¿ª·¢ÈËÔ±µÄجÃΣ¬Ò»°ãµÄ³ÌÐòÒì³££¬×ÜÊÇ¿ÉÒÔÖªµÀÔÚʲôʱºò»òÊÇÔÚʲô²Ù×÷²½ÖèÉϳöÏÖÁËÒì³££¬¶øÇÒ¸ù¾Ý¶ÑÕ»ÐÅÏ¢Ò²ºÜÈÝÒ×¶¨Î»µ½³ÌÐòÖÐÊÇij´¦³öÏÖÁËÎÊÌâ¡£ÄÚ´æÒç³öÓëËø±íÔò²»È»£¬Ò»°ãÏÖÏóÊDzÙ×÷Ò»°ãʱ¼äºóϵͳԽÀ´Ô½Âý£¬Ö±µ½ËÀ»ú£¬µ«²¢²»ÄÜÃ÷È·ÊÇÔÚʲô²Ù×÷ÉϳöÏֵ쬷¢ÉúµÄʱ¼äµãҲûÓйæÂÉ£¬²é¿´ÈÕÖ¾»ò²é¿´Êý¾Ý¿âÒ²²»Äܶ¨Î»³öÎÊÌâµÄ´úÂë¡£
¸üÑÏÖØµÄÊÇÄÚ´æÒç³öÓëÊý¾Ý¿âËø±íÔÚϵͳ¿ª·¢ºÍµ¥Ôª²âÊԽ׶β¢²»ÈÝÒ×±»·¢ÏÖ£¬µ±ÏµÍ³ÕýʽÉÏÏßÒ»°ãʱ¼äºó£¬²Ù×÷µÄ²¢·¢Á¿ÉÏÀ´ÁË£¬Êý¾ÝÒ²»ýÀÛÁËһЩ£¬ÏµÍ³¾ÍÈÝÒ׳öÏÖÄÚ´æÒç³ö»òÊÇËø±íµÄÏÖÏ󣬶ø´ËʱϵͳÓÖ²»ÄÜËæÒâÍ£»ú»òÖØÆô£¬ÎªÐÞÕýBUG´øÀ´ºÜ´óµÄÀ§ÄÑ¡£
±¾ÎÄÒÔ±ÊÕß¿ª·¢ºÍÖ§³ÖµÄ¶à¸öÏîĿΪÀý£¬Óë´ó¼Ò·ÖÏíÔÚ¿ª·¢¹ý³ÌÖÐÓöµ½µÄJavaÄÚ´æÒç³öºÍÊý¾Ý¿âËø±íµÄ¼ì²âºÍ´¦Àí½â¾ö¹ý³Ì¡£
2£®ÄÚ´æÒç³öµÄ·ÖÎö
ÄÚ´æÒç³öÊÇÖ¸Ó¦ÓÃϵͳÖдæÔÚÎÞ·¨»ØÊÕµÄÄÚ´æ»òʹÓõÄÄÚ´æ¹ý¶à£¬×îÖÕʹµÃ³ÌÐòÔËÐÐÒªÓõ½µÄÄÚ´æ´óÓÚÐéÄâ»úÄÜÌṩµÄ×î´óÄڴ档ΪÁ˽â¾öJavaÖÐÄÚ´æÒç³öÎÊÌ⣬ÎÒÃÇÊ×ÏȱØÐëÁ˽âJavaÊÇÈçºÎ¹ÜÀíÄÚ´æµÄ¡£JavaµÄÄÚ´æ¹ÜÀí¾ÍÊǶÔÏóµÄ·ÖÅäºÍÊÍ·ÅÎÊÌâ¡£ÔÚJavaÖУ¬ÄÚ´æµÄ·ÖÅäÊÇÓɳÌÐòÍê³ÉµÄ£¬¶øÄÚ´æµÄÊÍ·ÅÊÇÓÉÀ¬»øÊÕ¼¯Æ÷(Garba ......
JavaµÄÒ»¸öÖØÒªÓŵã¾ÍÊÇͨ¹ýÀ¬»øÊÕ¼¯Æ÷(Garbage Collection£¬GC)×Ô¶¯¹ÜÀíÄÚ´æµÄ»ØÊÕ£¬³ÌÐòÔ±²»ÐèҪͨ¹ýµ÷Óú¯ÊýÀ´ÊÍ·ÅÄÚ´æ¡£Òò´Ë£¬ºÜ¶à³ÌÐòÔ±ÈÏΪJava²»´æÔÚÄÚ´æÐ¹Â©ÎÊÌ⣬»òÕßÈÏΪ¼´Ê¹ÓÐÄÚ´æÐ¹Â©Ò²²»ÊdzÌÐòµÄÔðÈΣ¬¶øÊÇGC»òJVMµÄÎÊÌâ¡£Æäʵ£¬ÕâÖÖÏë·¨ÊDz»ÕýÈ·µÄ£¬ÒòΪJavaÒ²´æÔÚÄÚ´æÐ¹Â¶£¬µ«ËüµÄ±íÏÖÓëC++²»Í¬¡£
ÎÊÌâµÄÌá³ö
JavaµÄÒ»¸öÖØÒªÓŵã¾ÍÊÇͨ¹ýÀ¬»øÊÕ¼¯Æ÷(Garbage Collection£¬GC)×Ô¶¯¹ÜÀíÄÚ´æµÄ»ØÊÕ£¬³ÌÐòÔ±²»ÐèҪͨ¹ýµ÷Óú¯ÊýÀ´ÊÍ·ÅÄÚ´æ¡£Òò´Ë£¬ºÜ¶à³ÌÐòÔ±ÈÏΪJava²»´æÔÚÄÚ´æÐ¹Â©ÎÊÌ⣬»òÕßÈÏΪ¼´Ê¹ÓÐÄÚ´æÐ¹Â©Ò²²»ÊdzÌÐòµÄÔðÈΣ¬¶øÊÇGC»òJVMµÄÎÊÌâ¡£Æäʵ£¬ÕâÖÖÏë·¨ÊDz»ÕýÈ·µÄ£¬ÒòΪJavaÒ²´æÔÚÄÚ´æÐ¹Â¶£¬µ«ËüµÄ±íÏÖÓëC++²»Í¬¡£
Ëæ×ÅÔ½À´Ô½¶àµÄ·þÎñÆ÷³ÌÐò²ÉÓÃJava¼¼Êõ£¬ÀýÈçJSP£¬Servlet£¬ EJBµÈ£¬·þÎñÆ÷³ÌÐòÍùÍù³¤ÆÚÔËÐС£ÁíÍ⣬ÔںܶàǶÈëʽϵͳÖУ¬ÄÚ´æµÄ×ÜÁ¿·Ç³£ÓÐÏÞ¡£ÄÚ´æÐ¹Â¶ÎÊÌâÒ²¾Í±äµÃÊ®·Ö¹Ø¼ü£¬¼´Ê¹Ã¿´ÎÔËÐÐÉÙÁ¿Ð¹Â©£¬³¤ÆÚÔËÐÐÖ®ºó£¬ÏµÍ³Ò²ÊÇÃæÁÙ±ÀÀ£µÄΣÏÕ¡£
JavaÊÇÈçºÎ¹ÜÀíÄÚ´æ
ΪÁËÅжÏJavaÖÐÊÇ·ñÓÐÄÚ´æÐ¹Â¶£¬ÎÒÃÇÊ×ÏȱØÐëÁ˽âJavaÊÇÈçºÎ¹ÜÀíÄÚ´æµÄ¡£JavaµÄÄÚ´æ¹ÜÀí¾ÍÊǶÔÏóµÄ·ÖÅäºÍÊÍ·ÅÎÊÌâ¡£ÔÚJavaÖУ¬³ÌÐòÔ±ÐèҪͨ¹ý¹Ø¼ü×ÖnewΪÿ¸ö¶ÔÏóÉêÇëÄÚ´ ......