JavaµÄÄÚ´æÐ¹Â©ºÍÀ¬»ø»ØÊÕ»úÖÆ
JAVA»á²úÉúÄÚ´æÐ¹Â¶Âð£¿Ê×ÏÈ£¬´ð°¸Êǿ϶¨µÄ¡£JavaËäÈ»ÓÐÀ¬»ø»ØÊÕÆ÷£¬µ«ÒÀÈ»´æÔÚй©¡£
JavaÄÚ´æÐ¹Â©¸úC/C++ÄÚ´æÐ¹Â©µÄ¸ÅÄî²»Ò»Ñù£ºC/C++µÄÄÚ´æÐ¹Â©ÊÇÖ¸MallocÁËһЩ×ÊÔ´£¬×îºóûÓÐfreeµô£¬ÄÚ´æÃ»ÓлØÊÕ£¬Õâ¸öÊÇÕæÕýÒâÒåÉϵÄÄÚ´æºÚ¶´£»¶øJavaµÄй©Ôò¿ÉÄÜÊDZðµÄÔÒò£¬Java¶ÔÏóµÄ´æÔÚ¶Ô³ÌÐòÒѾûÓÐÒâÒ壬µ«ÊǶÔÏóÔÚ³ÌÐòÖÜÆÚÄÚÒ»Ö±´æÔÚ£¬Õâ¸ö¿ÉÄܻᵼÖÂJavaµÄÄÚ´æÐ¹Â©¡£
×ܽáÔÒò£¬´ó¸ÅÓÐÏÂÃæ¼¸¸ö·½Ã棺
£¨1£©JavaµÄij¸ö¶ÔÏó±»Ò»¸öÉúÃüÖÜÆÚºÜ³¤µÄÀ಻µ±³ÖÓУ¬Õâ¸öÊÇJavaÄÚ´æÐ¹Â©×îÖ÷ÒªµÄÔÒò£¬¶ÔÏóÔÚij¸öTaskÖÐûÓÐÖ÷¶¯Çå³ý£¬ÆäËÞÖ÷ÔÚ¹¤×÷ʱ»á²»¶ÏÔö¼Ó¸Ã¶ÔÏóµÄÒýÓÃÊý£¬Ò²¾Í»á³Ôµô¸ü¶àµÄÄڴ棬´Ó¶øµ¼ÖÂÄÚ´æÐ¹Â©£»
£¨2£©ÔÚRuntime ExceptionµÄʱºò£¬Ã»ÓÐÓÃfinally{}À´ÊÍ·ÅijЩ×ÊÔ´£»
£¨3£©±äÁ¿·¶Î§µÄÀ©´ó£¬±ÈÈç˵һ¸ö·½·¨µÄ¾Ö²¿±äÁ¿±»¶¨Òå³ÉÀàµÄ±äÁ¿£¬ÕâÑùµ¼Ö±äÁ¿µÄÉúÃüÆÚ±ä³¤£¬ÓпÉÄܵ¼ÖÂй©(Õâ¸öºÍµÚÒ»µã»¹ÊÇÓеãÏñµÄ)¡£
ÄÇôJAVAµÄÀ¬»ø»ØÊÕ»úÖÆ£¨Gabage Collection£©ÊÇÔõôÑùµÄÄØ£¿À¬»øÊÕ¼¯»úÖÆÊÇÖ¸jvmÓÃÓÚÊÍ·ÅÄÇЩ²»ÔÙʹÓõĶÔÏóËùÕ¼ÓõÄÄÚ´æ¡£javaÓïÑÔ²¢²»ÒªÇójvmÓÐgc£¬Ò²Ã»Óй涨gcÈçºÎ¹¤×÷¡£²»¹ý³£ÓõÄjvm¶¼ÓÐgc£¬¶øÇÒ´ó¶àÊýgc¶¼Ê¹ÓÃÀàËÆµÄËã·¨¹ÜÀíÄÚ´æºÍÖ´ÐÐÊÕ¼¯²Ù×÷¡£À¬»øÊÕ¼¯µÄÄ¿µÄÔÚÓÚÇå³ý²»ÔÙʹÓõĶÔÏó¡£gcͨ¹ýÈ·¶¨¶ÔÏóÊÇ·ñ±»»î¶¯¶ÔÏóÒýÓÃÀ´È·¶¨ÊÇ·ñÊÕ¼¯¸Ã¶ÔÏó¡£Á½ÖÖ³£Óõķ½·¨ÊÇÒýÓüÆÊýºÍ¶ÔÏóÒýÓñéÀú¡£
£¨1£©ÒýÓüÆÊý£ºÒýÓüÆÊý´æ´¢¶ÔÌØ¶¨¶ÔÏóµÄËùÓÐÒýÓÃÊý£¬Ò²¾ÍÊÇ˵£¬µ±Ó¦ÓóÌÐò´´½¨ÒýÓÃʱ£¬jvm±ØÐëÊʵ±Ôö¼õÒýÓÃÊý¡£µ±Ä³¶ÔÏóµÄÒýÓÃÊýΪ0ʱ£¬±ã¿ÉÒÔ½øÐÐÀ¬»øÊÕ¼¯¡£
£¨2£©¶ÔÏóÒýÓñéÀú£ºÔçÆÚµÄjvmʹÓÃÒýÓüÆÊý£¬ÏÖÔÚ´ó¶àÊýjvm²ÉÓöÔÏóÒýÓñéÀú¡£¶ÔÏóÒýÓñéÀú´ÓÒ»×é¶ÔÏó¿ªÊ¼£¬ÑØ×ÅÕû¸ö¶ÔÏóͼÉϵÄÿÌõÁ´½Ó£¬µÝ¹éÈ·¶¨¿Éµ½´ï£¨reachable£©µÄ¶ÔÏó¡£Èç¹ûij¶ÔÏó²»ÄÜ´ÓÕâЩ¸ù¶ÔÏóµÄÒ»¸ö£¨ÖÁÉÙÒ»¸ö£©µ½´ï£¬Ôò½«Ëü×÷ΪÀ¬»øÊÕ¼¯¡£ÔÚ¶ÔÏó±éÀú½×¶Î£¬gc±ØÐë¼ÇסÄÄЩ¶ÔÏó¿ÉÒÔµ½´ï£¬ÒÔ±ãɾ³ý²»¿Éµ½´ïµÄ¶ÔÏó£¬Õâ³ÆÎª±ê¼Ç£¨marking£©¶ÔÏó¡£
È»ºó£¬gcҪɾ³ý²»¿Éµ½´ïµÄ¶ÔÏó¡£É¾³ýʱ£¬ÓÐЩgcÖ»ÊǼòµ¥µÄɨÃè¶ÑÕ»£¬É¾³ýδ±ê¼ÇµÄ¶ÔÏ󣬲¢ÊÍ·ÅËüÃǵÄÄÚ´æÒÔÉú³ÉеĶÔÏó£¬Õâ½Ð×öÇå³ý£¨sweeping£©¡£ÕâÖÖ·½·¨µÄÎÊÌâÔÚÓÚÄÚ´æ»á·Ö³ÉºÃ¶àС¶Î£¬¶øËüÃDz»×ãÒÔÓÃÓÚ
Ïà¹ØÎĵµ£º
Ôڳɹ¦ÊµÏÖJavaµ÷ÓÃC++Ö®ºó£¬½ÓÏÂÀ´Ïëµ½ÄÜ·ñͨ¹ýJNAʵÏÖJavaµ÷ÓÃFortran£¬½ñÌìÊÔÑéÁËһϣ¬»¹ÊDZȽÏÈÝÒ׵ġ£
ÍøÉÏÓÐÒ»¸öJavaµ÷ÓÃF95µÄÀý×Ó£¬µ«ÊÇÎÒ¿¼ÂDz»½öҪʵÏÖF95µÄµ÷Ó㬻¹ÒªÊµÏÖF77µÄµ÷Óã¬ËùÒÔ·ÑÁËһЩÖÜÕÛ¡£
ÎÊÌâµÄ¹Ø¼üÔÚÓÚF77Ϊ¹ý³ÌÃû×Ô¶¯Ìí¼ÓÁËÒ»¸öβ²¿µÄÏ»®Ïߣ¬ËùÒÔsub1Õâ¸ö¹ý³Ì£¬µ½JavaÒ»¶Ë£¬¾Í±ä³ÉÁËsub1_£¬ ......
ÊýÄêǰ£¬µ±ºÍÒ»¸öÈí¼þÍŶÓÒ»ÆðÓà Java ÓïÑÔ±àдһ¸öÓ¦ÓóÌÐòʱ£¬ÎÒÌå»áµ½±ÈÒ»°ã³ÌÐòÔ±¶àÖªµÀÒ»µã¹ØÓÚ Java ¶ÔÏóÐòÁл¯µÄ֪ʶËù´øÀ´µÄºÃ´¦¡£
¹ØÓÚ±¾ÏµÁÐ
Äú¾õµÃ×Ô¼º¶® Java ±à³Ì£¿ÊÂʵÉÏ£¬´ó¶àÊý³ÌÐòÔ±¶ÔÓÚ Java ƽ̨¶¼ÊÇdz³¢ÔòÖ¹£¬Ö»Ñ§Ï°ÁË×ãÒÔÍê³ÉÊÖÍ·ÉÏÈÎÎñµÄ֪ʶ¶øÒÑ¡£
´óÔ¼Ò»Äêǰ£¬Ò»¸ö¸ºÔð¹ÜÀíÓ¦ÓóÌÐòËùÓÐÓû§ÉèÖà ......
ÓйØJava¶ÔÏóµÄÐòÁл¯ºÍ·´ÐòÁл¯Ò²ËãÊÇJava»ù´¡µÄÒ»²¿·Ö£¬ÏÂÃæ¶ÔJavaÐòÁл¯µÄ»úÖÆºÍÔÀí½øÐÐһЩ½éÉÜ¡£
¡¡¡¡JavaÐòÁл¯Ë㷨͸Îö
¡¡¡¡Serialization£¨ÐòÁл¯£©ÊÇÒ»ÖÖ½«¶ÔÏóÒÔÒ»Á¬´®µÄ×Ö½ÚÃèÊöµÄ¹ý³Ì£»·´ÐòÁл¯deserializationÊÇÒ»ÖÖ½«ÕâЩ×Ö½ÚÖØ½¨³ÉÒ»¸ö¶ÔÏóµÄ¹ý³Ì¡£JavaÐòÁл¯APIÌṩһÖÖ´¦Àí¶ÔÏóÐòÁл¯µÄ±ê×¼»úÖÆ¡£ÔÚÕâÀ ......
1¡¢FACTORY—×·MMÉÙ²»ÁËÇë³Ô·¹ÁË£¬Âóµ±À͵靈áºÍ¿ÏµÂ»ùµÄ¼¦³á¶¼ÊÇMM°®³ÔµÄ¶«Î÷£¬ËäÈ»¿ÚζÓÐËù²»Í¬£¬µ«²»¹ÜÄã´øMMÈ¥Âóµ±ÀÍ»ò¿ÏµÂ»ù£¬Ö»¹ÜÏò·þÎñԱ˵“À´Ëĸö¼¦³á”¾ÍÐÐÁË¡£Âóµ±ÀͺͿϵ»ù¾ÍÊÇÉú²ú¼¦³áµÄFactory
¡¡¡¡¹¤³§Ä£Ê½£º¿Í»§ÀàºÍ¹¤³§Àà·Ö¿ª¡£Ïû·ÑÕßÈκÎʱºòÐèҪijÖÖ²úÆ·£¬Ö»ÐèÏò¹ ......
class EnclosingOne {
public class InsideOne {
}
}
public class B {
public static void main(String[] args) {
EnclosingOne eo = new EnclosingOne();
EnclosingOne.InsideOne ei = eo.new InsideOne();
}
} ......