JVMÏê½âÖ®JavaÀ¬»ø»ØÊÕ»úÖÆÏê½âºÍµ÷ÓÅ £¨1£©
1.JVMµÄgc¸ÅÊö
¡¡¡¡gc¼´À¬»øÊÕ¼¯»úÖÆÊÇÖ¸jvmÓÃÓÚÊÍ·ÅÄÇЩ²»ÔÙʹÓõĶÔÏóËùÕ¼ÓõÄÄÚ´æ¡£javaÓïÑÔ²¢²»ÒªÇójvmÓÐgc£¬Ò²Ã»Óй涨gcÈçºÎ¹¤×÷¡£²»¹ý³£ÓõÄjvm¶¼ÓÐgc£¬¶øÇÒ´ó¶àÊýgc¶¼Ê¹ÓÃÀàËÆµÄËã·¨¹ÜÀíÄÚ´æºÍÖ´ÐÐÊÕ¼¯²Ù×÷¡£
¡¡¡¡ÔÚ³ä·ÖÀí½âÁËÀ¬»øÊÕ¼¯Ëã·¨ºÍÖ´Ðйý³Ìºó£¬²ÅÄÜÓÐЧµÄÓÅ»¯ËüµÄÐÔÄÜ¡£ÓÐЩÀ¬»øÊÕ¼¯×¨ÓÃÓÚÌØÊâµÄÓ¦ÓóÌÐò¡£±ÈÈ磬ʵʱӦÓóÌÐòÖ÷ÒªÊÇΪÁ˱ÜÃâÀ¬»øÊÕ¼¯Öжϣ¬¶ø´ó¶àÊýOLTPÓ¦ÓóÌÐòÔò×¢ÖØÕûÌåЧÂÊ¡£Àí½âÁËÓ¦ÓóÌÐòµÄ¹¤×÷¸ººÉºÍjvmÖ§³ÖµÄÀ¬»øÊÕ¼¯Ëã·¨£¬±ã¿ÉÒÔ½øÐÐÓÅ»¯ÅäÖÃÀ¬»øÊÕ¼¯Æ÷¡£
¡¡¡¡À¬»øÊÕ¼¯µÄÄ¿µÄÔÚÓÚÇå³ý²»ÔÙʹÓõĶÔÏó¡£gcͨ¹ýÈ·¶¨¶ÔÏóÊÇ·ñ±»»î¶¯¶ÔÏóÒýÓÃÀ´È·¶¨ÊÇ·ñÊÕ¼¯¸Ã¶ÔÏó¡£gcÊ×ÏÈÒªÅжϸöÔÏóÊÇ·ñÊÇʱºò¿ÉÒÔÊÕ¼¯¡£Á½ÖÖ³£Óõķ½·¨ÊÇÒýÓüÆÊýºÍ¶ÔÏóÒýÓñéÀú¡£
¡¡¡¡1.1.ÒýÓüÆÊý
¡¡¡¡ÒýÓüÆÊý´æ´¢¶ÔÌØ¶¨¶ÔÏóµÄËùÓÐÒýÓÃÊý£¬Ò²¾ÍÊÇ˵£¬µ±Ó¦ÓóÌÐò´´½¨ÒýÓÃÒÔ¼°ÒýÓó¬³ö·¶Î§Ê±£¬jvm±ØÐëÊʵ±Ôö¼õÒýÓÃÊý¡£µ±Ä³¶ÔÏóµÄÒýÓÃÊýΪ0ʱ£¬±ã¿ÉÒÔ½øÐÐÀ¬»øÊÕ¼¯¡£
¡¡¡¡1.2.¶ÔÏóÒýÓñéÀú
¡¡¡¡ÔçÆÚµÄjvmʹÓÃÒýÓüÆÊý£¬ÏÖÔÚ´ó¶àÊýjvm²ÉÓöÔÏóÒýÓñéÀú¡£¶ÔÏóÒýÓñéÀú´ÓÒ»×é¶ÔÏó¿ªÊ¼£¬ÑØ×ÅÕû¸ö¶ÔÏóͼÉϵÄÿÌõÁ´½Ó£¬µÝ¹éÈ·¶¨¿Éµ½´ï£¨reachable£©µÄ¶ÔÏó¡£Èç¹ûij¶ÔÏó²»ÄÜ´ÓÕâЩ¸ù¶ÔÏóµÄÒ»¸ö£¨ÖÁÉÙÒ»¸ö£©µ½´ï£¬Ôò½«Ëü×÷ΪÀ¬»øÊÕ¼¯¡£ÔÚ¶ÔÏó±éÀú½×¶Î£¬gc±ØÐë¼ÇסÄÄЩ¶ÔÏó¿ÉÒÔµ½´ï£¬ÒÔ±ãɾ³ý²»¿Éµ½´ïµÄ¶ÔÏó£¬Õâ³ÆÎª±ê¼Ç£¨marking£©¶ÔÏó¡£
¡¡¡¡ÏÂÒ»²½£¬gcҪɾ³ý²»¿Éµ½´ïµÄ¶ÔÏó¡£É¾³ýʱ£¬ÓÐЩgcÖ»ÊǼòµ¥µÄɨÃè¶ÑÕ»£¬É¾³ýδ±ê¼ÇµÄδ±ê¼ÇµÄ¶ÔÏ󣬲¢ÊÍ·ÅËüÃǵÄÄÚ´æÒÔÉú³ÉеĶÔÏó£¬Õâ½Ð×öÇå³ý£¨sweeping£©¡£ÕâÖÖ·½·¨µÄÎÊÌâÔÚÓÚÄÚ´æ»á·Ö³ÉºÃ¶àС¶Î£¬¶øËüÃDz»×ãÒÔÓÃÓÚеĶÔÏ󣬵«ÊÇ×éºÏÆðÀ´È´ºÜ´ó¡£Òò´Ë£¬Ðí¶àgc¿ÉÒÔÖØÐÂ×éÖ¯ÄÚ´æÖеĶÔÏ󣬲¢½øÐÐѹËõ£¨compact£©£¬ÐγɿÉÀûÓõĿռ䡣
¡¡¡¡Îª´Ë£¬gcÐèҪֹͣÆäËûµÄ»î¶¯»î¶¯¡£ÕâÖÖ·½·¨Òâζ×ÅËùÓÐÓëÓ¦ÓóÌÐòÏà¹ØµÄ¹¤×÷Í£Ö¹£¬Ö»ÓÐgcÔËÐС£½á¹û£¬ÔÚÏìÓ¦ÆÚ¼äÔö¼õÁËÐí¶à»ìÔÓÇëÇó¡£ÁíÍ⣬¸ü¸´Ô gc²»¶ÏÔö¼Ó»òͬʱÔËÐÐÒÔ¼õÉÙ»òÕßÇå³ýÓ¦ÓóÌÐòµÄÖжϡ£ÓеÄgcʹÓõ¥Ïß³ÌÍê³ÉÕâÏ×÷£¬ÓеÄÔò²ÉÓöàÏß³ÌÒÔÔö¼ÓЧÂÊ¡£
2.¼¸ÖÖÀ¬»ø»ØÊÕ»úÖÆ
¡¡¡¡2.1.±ê¼Ç£Çå³ýÊÕ¼¯Æ÷
¡¡¡¡ÕâÖÖÊÕ¼¯Æ÷Ê×ÏȱéÀú¶ÔÏóͼ²¢±ê¼Ç¿Éµ½´ïµÄ¶ÔÏó£¬È»ºóɨÃè¶ÑÕ»ÒÔѰÕÒδ±ê¼Ç¶ÔÏó²¢ÊÍ·ÅËüÃǵÄÄÚ´æ¡£ÕâÖÖÊÕ¼¯Æ÷Ò»°ãʹÓõ¥Ï̹߳¤×÷²¢Í£Ö¹ÆäËû²Ù×÷¡£
¡¡¡¡2.2.±ê¼Ç£Ñ¹ËõÊÕ¼¯Æ÷
¡¡¡¡ÓÐʱҲ½Ð±ê¼Ç£Çå³ý£Ñ¹ËõÊÕ¼¯Æ÷£¬Óë±ê¼Ç£Çå³ýÊÕ¼¯Æ÷ÓÐÏ
Ïà¹ØÎĵµ£º
java»ñÈ¡µ±Ç°Â·¾¶
1¡¢ÀûÓÃSystem.getProperty()º¯Êý»ñÈ¡µ±Ç°Â·¾¶£º
System.out.println(System.getProperty("user.dir"));//user.dirÖ¸¶¨Á˵±Ç°µÄ·¾¶
2¡¢Ê¹ÓÃFileÌṩµÄº¯Êý»ñÈ¡µ±Ç°Â·¾¶£º
File directory = new File("");//É趨Ϊµ±Ç°Îļþ¼Ð
try{
System.out.println(directory.getCano ......
Ò»¡¢final
¡¡¸ù¾Ý³ÌÐòÉÏÏÂÎÄ»·¾³£¬Java
¹Ø¼ü×ÖfinalÓГÕâÊÇÎÞ·¨¸Ä±äµÄ”»òÕß“ÖÕ̬µÄ”º¬Ò壬Ëü¿ÉÒÔÐÞÊηdzéÏóÀà¡¢·Ç³éÏóÀà³ÉÔ±·½·¨ºÍ±äÁ¿¡£Äã¿ÉÄܳöÓÚÁ½ÖÖÀí½â¶øÐèÒª×èÖ¹¸Ä±ä£ºÉè¼Æ»òЧÂÊ¡£
finalÀ಻Äܱ»¼Ì³Ð£¬Ã»ÓÐ×ÓÀ࣬finalÀàÖеķ½·¨Ä¬ÈÏÊÇfinalµÄ¡£
final·½·¨²»Äܱ»×ÓÀàµÄ·½· ......
javaÐĵã¡--ºÜºÃµÄjavaѧϰÀú³Ì£¨×ª×ÔÕŹú±¦£© ÊÕ²Ø ´ËÎÄÓÚ2009-10-26±»ÍƼöµ½CSDNÊ×Ò³
ÈçºÎ±»ÍƼö£¿
1. Êý×éÓÐûÓÐlength()Õâ¸ö·½·¨? StringÓÐûÓÐlength()Õâ¸ö·½·¨£¿
´ð£ºÊý×éûÓÐlength()Õâ¸ö·½·¨£¬ÓÐlengthµÄÊôÐÔ¡£
......
ÎÊÌ⣺ÏÖÓÐn¸öÀÏÊóΧ³ÉһԲȦ£¬ÓÐһֻè´ÓÈÎÒâλÖÿªÊ¼³ÔÀÏÊó£¬Ã¿´Î¶¼¸ôÒ»¸öÀÏÊó³Ô£¬Çë¸ø³ö×îºóÒ»¸öÀÏÊóµÄ±àºÅ£¿ÌâĿҪÇóÊÇÈθøÀÏÊóÊýn£¬Êä³öè×îºó³ÔµÄÀÏÊóµÄ±àºÅ¡£
ÎҵĽⷨ£º
1.¼òµ¥µÄ·½·¨¾ÍÊÇÄ£ÄâÕâ¸ö¹ý³Ì¡£Ê¹ÓÃÒ»¸öÊý×é´ú±íÀÏÊóÊÇ·ñ±»³Ôµô£¬Ñ»·±éÀú¡£
2.¸Ä½øÒ»Ïµķ½·¨£¬ÆäʵÕâ¸öÎÊÌâ¾ÍÊÇÒ»¸öm=2µÄԼɪ·ò»·ÎÊÌâ¡£
......
Java ¶ÔÎļþ½øÐжÁд²Ù×÷µÄÀý×Ӻܶ࣬ÈóõѧÕ߸е½Ê®·ÖÀ§»ó£¬ÎÒ¾õµÃÓбØÒª½«¸÷ÖÖ·½·¨½øÐÐ
Ò»´Î·ÖÎö£¬¹éÀ࣬ÀíÇ岻ͬ·½·¨Ö®¼äµÄÒìͬµã¡£
Ò»£®ÔÚ JDK 1.0 ÖУ¬Í¨³£ÊÇÓà InputStream & OutputStream ÕâÁ½¸ö»ùÀàÀ´½øÐжÁд²Ù×÷µÄ¡£
InputStream ÖÐµÄ FileInputStream ÀàËÆÒ»¸öÎļþ¾ä±ú£¬Í¨¹ýËüÀ´¶ÔÎļþ½øÐвÙ×÷£¬ÀàËÆ ......