JAVAÀ¬»øÊÕ¼¯Ëã·¨µÄºËÐÄ˼Ïë
1.À¬»øÊÕ¼¯Ëã·¨µÄºËÐÄ˼Ïë
¡¡¡¡JavaÓïÑÔ½¨Á¢ÁËÀ¬»øÊÕ¼¯»úÖÆ£¬ÓÃÒÔ¸ú×ÙÕýÔÚʹÓõĶÔÏóºÍ·¢ÏÖ²¢»ØÊÕ²»ÔÙʹÓÃ(ÒýÓÃ)µÄ¶ÔÏ󡣸ûúÖÆ¿ÉÒÔÓÐЧ·À·¶¶¯Ì¬ÄÚ´æ·ÖÅäÖпÉÄÜ·¢ÉúµÄÁ½¸öΣÏÕ£ºÒòÄÚ´æÀ¬»ø¹ý¶à¶øÒý·¢µÄÄÚ´æºÄ¾¡£¬ÒÔ¼°²»Ç¡µ±µÄÄÚ´æÊÍ·ÅËùÔì³ÉµÄÄÚ´æ·Ç·¨ÒýÓá£
¡¡¡¡À¬»øÊÕ¼¯Ëã·¨µÄºËÐÄ˼ÏëÊÇ£º¶ÔÐéÄâ»ú¿ÉÓÃÄÚ´æ¿Õ¼ä£¬¼´¶Ñ¿Õ¼äÖеĶÔÏó½øÐÐʶ±ð£¬Èç¹û¶ÔÏóÕýÔÚ±»ÒýÓã¬ÄÇô³ÆÆäΪ´æ»î¶ÔÏ󣬷´Ö®£¬Èç¹û¶ÔÏó²»ÔÙ±»ÒýÓã¬ÔòΪÀ¬»ø¶ÔÏ󣬿ÉÒÔ»ØÊÕÆäÕ¼¾ÝµÄ¿Õ¼ä£¬ÓÃÓÚÔÙ·ÖÅä¡£À¬»øÊÕ¼¯Ëã·¨µÄÑ¡ÔñºÍÀ¬»øÊÕ¼¯ÏµÍ³²ÎÊýµÄºÏÀíµ÷½ÚÖ±½ÓÓ°Ïì×ÅϵͳÐÔÄÜ£¬Òò´ËÐèÒª¿ª·¢ÈËÔ±×ö±È½ÏÉîÈëµÄÁ˽⡣
¡¡¡¡2.´¥·¢Ö÷GC(Garbage Collector)µÄÌõ¼þ
¡¡¡¡JVM½øÐдÎGCµÄƵÂʺܸß,µ«ÒòΪÕâÖÖGCÕ¼ÓÃʱ¼ä¼«¶Ì,ËùÒÔ¶Ôϵͳ²úÉúµÄÓ°Ïì²»´ó¡£¸üÖµµÃ¹Ø×¢µÄÊÇÖ÷GCµÄ´¥·¢Ìõ¼þ,ÒòΪËü¶ÔϵͳӰÏìºÜÃ÷ÏÔ¡£×ܵÄÀ´Ëµ,ÓÐÁ½¸öÌõ¼þ»á´¥·¢Ö÷GC:
¡¡¡¡¢Ùµ±Ó¦ÓóÌÐò¿ÕÏÐʱ,¼´Ã»ÓÐÓ¦ÓÃÏß³ÌÔÚÔËÐÐʱ,GC»á±»µ÷Óá£ÒòΪGCÔÚÓÅÏȼ¶×îµÍµÄÏß³ÌÖнøÐÐ,ËùÒÔµ±Ó¦ÓÃæʱ,GCÏ߳̾Ͳ»»á±»µ÷ÓÃ,µ«ÒÔÏÂÌõ¼þ³ýÍâ¡£
¡¡¡¡¢ÚJava¶ÑÄÚ´æ²»×ãʱ,GC»á±»µ÷Óᣵ±Ó¦ÓÃÏß³ÌÔÚÔËÐÐ,²¢ÔÚÔËÐйý³ÌÖд´½¨Ð¶ÔÏó,ÈôÕâʱÄÚ´æ¿Õ¼ä²»×ã,JVM¾Í»áÇ¿ÖÆµØµ÷ÓÃGCÏß³Ì,ÒﱋȯÊÕÄÚ´æÓÃÓÚеķÖÅä¡£ÈôGCÒ»´ÎÖ®ºóÈÔ²»ÄÜÂú×ãÄÚ´æ·ÖÅäµÄÒªÇó,JVM»áÔÙ½øÐÐÁ½´ÎGC×÷½øÒ»²½µÄ³¢ÊÔ,ÈôÈÔÎÞ·¨Âú×ãÒªÇó,Ôò JVM½«±¨“out of memory”µÄ´íÎó,JavaÓ¦Óý«Í£Ö¹¡£
¡¡¡¡ÓÉÓÚÊÇ·ñ½øÐÐÖ÷GCÓÉJVM¸ù¾Ýϵͳ»·¾³¾ö¶¨,¶øÏµÍ³»·¾³ÔÚ²»¶ÏµÄ±ä»¯µ±ÖÐ,ËùÒÔÖ÷GCµÄÔËÐоßÓв»È·¶¨ÐÔ,ÎÞ·¨Ô¤¼ÆËüºÎʱ±ØÈ»³öÏÖ,µ«¿ÉÒÔÈ·¶¨µÄÊǶÔÒ»¸ö³¤ÆÚÔËÐеÄÓ¦ÓÃÀ´Ëµ,ÆäÖ÷GCÊÇ·´¸´½øÐеġ£
¡¡¡¡3.¼õÉÙGC¿ªÏúµÄ´ëÊ©
¡¡¡¡¸ù¾ÝÉÏÊöGCµÄ»úÖÆ,³ÌÐòµÄÔËÐлáÖ±½ÓÓ°Ïìϵͳ»·¾³µÄ±ä»¯,´Ó¶øÓ°ÏìGCµÄ´¥·¢¡£Èô²»Õë¶ÔGCµÄÌØµã½øÐÐÉè¼ÆºÍ±àÂë,¾Í»á³öÏÖÄÚ´æ×¤ÁôµÈһϵÁиºÃæÓ°Ï졣ΪÁ˱ÜÃâÕâЩӰÏì,»ù±¾µÄÔÔò¾ÍÊǾ¡¿ÉÄܵؼõÉÙÀ¬»øºÍ¼õÉÙGC¹ý³ÌÖеĿªÏú¡£¾ßÌå´ëÊ©°üÀ¨ÒÔϼ¸¸ö·½Ãæ:
¡¡¡¡(1)²»ÒªÏÔʽµ÷ÓÃSystem.gc()
¡¡¡¡´Ëº¯Êý½¨ÒéJVM½øÐÐÖ÷GC,ËäȻֻÊǽ¨Òé¶ø·ÇÒ»¶¨,µ«ºÜ¶àÇé¿öÏÂËü»á´¥·¢Ö÷GC,´Ó¶øÔö¼ÓÖ÷GCµÄƵÂÊ,Ò²¼´Ôö¼ÓÁ˼äЪÐÔÍ£¶ÙµÄ´ÎÊý¡£
¡¡¡¡(2)¾¡Á¿¼õÉÙÁÙʱ¶ÔÏóµÄʹÓÃ
¡¡¡¡ÁÙʱ¶ÔÏóÔÚÌø³öº¯Êýµ÷Óúó,»á³ÉΪÀ¬»ø,ÉÙÓÃÁÙʱ±äÁ¿¾ÍÏ൱ÓÚ¼õÉÙÁËÀ¬»øµÄ²úÉú,´Ó¶øÑÓ³¤Á˳öÏÖÉÏÊöµÚ¶þ¸ö´¥·¢Ìõ¼þ³öÏÖµÄʱ¼ä,¼õÉÙÁËÖ÷GCµÄ»ú»á¡£
¡¡¡¡(3)¶ÔÏó²»ÓÃʱ×îºÃÏÔʽÖÃΪNull
¡¡¡¡Ò»°ã¶øÑÔ,ΪNullµÄ¶ÔÏó¶¼»
Ïà¹ØÎĵµ£º
JAVA--java.io.InvalidClassException¼±½â
×ֺţºT|T
JAVA--java.io.InvalidClassException¼±½â
java.io.InvalidClassException: message.RegisterMessage; local class incompatible: stream classdesc serialVersionUID = 5540404719929042644, local class serialVersionUID = -8915824483106432775
»Ø´ð£º
×î¼Ñ ......
1 JAVAµÄ·´Éä,Æäʵ¾ÍÊÇͨ¹ýÒ»¸öʵÀý»¯µÄ¶ÔÏó·´¹ýÀ´È¥ÕÒµ½Ò»¸öÀàµÄÍêÕûÐÅÏ¢,±ÈÈç¶ÔÓÚÈçϵÄÐÎʽ:
X x=new X();
x.getClass().getName();
ÕâÀï¾Í»áÊä³öÕâ¸öÀàËùÔÚµÄÍêÕûÐÅÏ¢,¼´"°üÃû.ÀàÃû";
×î³£ÓõÄÈýÖÖʵÀý»¯CLASSÀà¶ÔÏó
Class<?> c1 = null ; // Ö¸¶¨·ºÐÍ
Class<?& ......
JavaµÚÈý·½library ecosystemÊÇÒ»¸öºÜ¹ãÀ«µÄ·¶³ë¡£²»¾ÃǰÓÐÈË׫ÎÄ£ºÃ¿¸öÏîÄ¿ÖУ¬Äã±ØÐëÖªµÀµÄ11¸öJavaµÚÈý·½Àà¿â¡£
µ¥Ôª²âÊÔ
1.DBUnit
DBunitÊÇÒ»¸ö»ùÓÚjunitÀ©Õ¹µÄÊý¾Ý¿â²âÊÔ¿ò¼Ü¡£ËüÌṩÁË´óÁ¿µÄÀà¶ÔÓëÊý¾Ý¿âÏà¹ØµÄ²Ù×÷½øÐÐÁ˳éÏóºÍ·â×°¡£
2.MOckito
MockitoÊÇÒ»¸öÕë¶ÔJavaµÄmocking¿ò¼Ü¡£Äã¿ÉÒÔʹÓüò½àµÄAPI±àд³ö ......
Ãô½Ý¿ª·¢Öбàд¸ßÖÊÁ¿Java´úÂë
Ãô½Ý¿ª·¢µÄÀíÄîÒѾÁ÷ÐÐÁ˺ܳ¤µÄʱ¼ä£¬ÔÚÃô½Ý¿ª·¢ÖеĿª·¢µü´ú½×¶ÎÖУ¬ÎÒÃÇ¿ÉÒÔͨ¹ýÎå¸ö²½Ö裬À´ÓÐЧµÄÌá¸ßÕû¸öÏîÄ¿µÄ´úÂëÖÊÁ¿¡£
JavaÏîÄ¿¿ª·¢¹ý³ÌÖУ¬ÓÉÓÚ¿ª·¢ÈËÔ±µÄ¾Ñé¡¢Java´úÂë±àдϰ¹ß£¬ÒÔ¼°È±·¦Í³Ò»µÄ±ê×¼ºÍ¹ÜÀíÁ÷³Ì£¬ÍùÍùµ¼ÖÂÕû¸öÏîÄ¿µÄ´úÂëÖÊÁ¿½Ï²î£¬ÄÑÓÚά »¤£¬ÐèÒª½Ï´óµÄ² ......
Package µÄÃüÃû
Package µÄÃû×ÖÓ¦¸Ã¶¼ÊÇÓÉÒ»¸öСдµ¥´Ê×é³É¡£
Class µÄÃüÃû
Class µÄÃû×Ö±ØÐëÓÉ´óд×Öĸ¿ªÍ·¶øÆäËû×Öĸ¶¼Ð¡Ð´µÄµ¥´Ê×é³É
Class ±äÁ¿µÄÃüÃû
±äÁ¿µÄÃû×Ö±ØÐëÓÃÒ»¸öСд×Öĸ¿ªÍ·¡£ºóÃæµÄµ¥´ÊÓôóд×Öĸ¿ªÍ·¡£
Static Final&nbs ......