ʹÓà Java Debug Interface£¨JDI£©µ÷ÊÔ¶àÏß³ÌÓ¦ÓóÌÐò
±¾ÎÄ¶Ô Java Debug Interface£¨JDI£©¼°ÆäʹÓýøÐÐÁ˽éÉÜ£¬²¢Í¨¹ýʵÏÖÒ»¸ö¶àÏ̷߳ÖÎöÆ÷µÄʾÀýÓ¦Óã¬ÑÝʾÁËÈçºÎÀûÓà JDI ¿ª·¢×Ô¼ºµÄ¶àÏ̵߳÷ÊÔ³ÌÐò¡£¸ÃʾÀý·ÖÎöÆ÷ÔÚ¶ÀÁ¢ÓÚÄ¿±ê³ÌÐòµÄÇ°ÌáÏ£¬ÒÔµ¥¸öÏß³ÌÁ÷Ϊµ¥Î»£¬°ïÖú×·×ټǼ¶àÏ̵߳ÄÖ´Ðйý³ÌÐÅÏ¢¡£
¶àÏ̻߳·¾³ÏµijÌÐòµ÷ÊÔÊÇÈÿª·¢ÕßÍ·Í´µÄÎÊÌâ¡£ÔÚ IDE ÖÐͨ¹ýÌí¼Ó¶ÏµãµÄ·½Ê½µ÷ÊÔ³ÌÐò£¬ÍùÍù»áÒòΪͣÔÚijһÌõÏ̵߳Äij¸ö¶ÏµãÉ϶ø´íʧÁËÆäËûÏ̵߳ÄÖ´ÐУ¬Ïß³ÌÖ®¼äµÄµ÷¶ÈÍùÍùÎÞ·¨Ô¤ÆÚ£¬²¢ÇÒ»áÒòΪ¶ÏµãÓ°ÏìÁËʵ¼ÊµÄÏß³ÌÖ´ÐÐ˳Ðò¡£Òò´Ë£¬ÔÚµ÷ÊÔ¶àÏ̳߳ÌÐòʱ£¬¿ª·¢ÕßÍùÍù»áÑ¡Ôñ´òÓ¡ Trace Log µÄ·½Ê½À´°ïÖúµ÷ÊÔ¡£
ʹÓà Log À´°ïÖúµ÷ÊÔµÄÎÊÌâÔÚÓÚ£¬¿ª·¢ÕßÍùÍùÎÞ·¨Ô¤ÆÚÄÄЩ¹Ø¼üµãÐèÒª¼Ç¼£¬ÓÚÊÇÔÚÕû¸ö³ÌÐòµÄµ÷ÊÔ¹ý³ÌÖУ¬ÐèÒª²»¶ÏµÄ¼ÓÈë Log µ÷Ó㬱àÒëÉú³É¿ÉÖ´ÐгÌÐò²¢²¿Êð£¬Õâ¶ÔÓÚ´ó³ß´çµÄÈí¼þ¿ª·¢ÏîÄ¿ÎÞÒÉÊÇجÃΣ¬»áÖ±½ÓÓ°Ïìµ½¿ª·¢Ð§ÂÊ¡£
ÓÐûÓÐÒ»ÖÖ°ì·¨£¬¿ÉÒÔ¶ÀÁ¢ÓÚ³ÌÐò´úÂ룬ÄÜÔÚÔËÐÐÆÚ¼ä°ó¶¨µ½³ÌÐòÉϲ¢»ñÈ¡³ÌÐòÔËÐйý³Ìµ±ÖеĹؼüÐÅÏ¢ÄØ£¿¸üÖØÒªµÄ£¬ÕâÖÖ·½·¨Ó¦¸ÃÊǿɶ¨ÖƵģ¬¿ª·¢Õß¿ÉÒÔͨ¹ýÉÙÁ¿µÄŬÁ¦£¬¾Í¿ÉÒÔ´ïµ½Ìض¨µÄµ÷ÊÔÄ¿µÄ¡£´ð°¸Êǿ϶¨µÄ¡£Í¨¹ýʹÓà Java Debug Interface£¨JDI£©£¬¿ª·¢Õß¿ÉÒÔ¿ìËÙ¿ª·¢¶¨ÖƳöÊÊÓÃÓÚ×Ô¼ºµÄÏß³Ì Profiling ¹¤¾ß¡£ÕâÑùµÄ¹¤¾ß¶ÀÁ¢ÓÚÖ÷³ÌÐò£¬²¢Çҿɸ߶ȶ¨ÖÆ¡£ÔÚ½ÓÏÂÀ´µÄÎÄÕÂÖУ¬ÎÒÃǽ«½éÉÜÈçºÎʵÏָù¤¾ß¡£
ÈÏʶ JPDA ºÍ JDI
´Ó J2SE 1.3 ¿ªÊ¼£¬Java ¿ªÊ¼ÌṩÁËÒ»Ì×½Ð×ö Java Platform Debugger Architecture£¨JPDA£© µÄ¼Ü¹¹£¬¿ª·¢Õß¿ÉÒÔͨ¹ýÕâÌ׼ܹ¹À´¿ª·¢µ÷ÊÔÓóÌÐò¡£ÕâÌ׼ܹ¹±»Ö÷Á÷µÄ Java IDE£¨Èç Eclipse¡¢NetBeans µÈ£©¹ã·ºµØ²ÉÓá£
JPDA ÏêÇé
¸ü¶à¹ØÓÚ JPDA µÄÏêϸ½éÉÜ£¬¿ÉÒԲμû JPDA ¹Ù·½Îĵµ ÒÔ¼° “ÉîÈë Java µ÷ÊÔÌåϵ”ϵÁÐÎÄÕ¡£
¾ßÌåÀ´Ëµ£¬JPDA ²»½ö½öÊÇÒ»Ì× API µÄ×éºÏ£¬Ò²²»Ö»ÊÇÒ»¸ö¾ßÌåµÄ¹¤¾ß¡£ÕâÌ׼ܹ¹ÌṩÁË´ÓÄ¿±ê³ÌÐò¡¢µ÷ÊÔË«·½µÄÐÅÏ¢ÐÒ飬µ½¹©¿ª·¢ÕßʹÓõĽṹµ÷Ó㬶¼Ò»Ò»×ö³öÁ˶¨Òå¡£ÔÚ J2SE 5.0 ÖУ¬ËüÓÉÈý¸ö²¿·Ö×é³É£º
Java Virtual Machine Tools Interface£¨JVMTI£©£¬ÊÇÒ»Ì׵ͼ¶±ðµÄ native ½Ó¿Ú¡£Ëü¶¨ÒåÁË Java ÐéÄâ»úËù±ØÐèΪµ÷ÊÔÌṩµÄ·þÎñ½Ó¿Ú¡£JVMTI ÔÚ Java 5.0 ֮ǰµÄÇ°ÉíÊÇ JVMDI£¨Jave Virtual Machine Debug Interface£©¡£
Java Debug Wire Protocol£¨JDWP£©£¬¶¨ÒåÁ˵÷ÊÔË«·½ÐÅÏ¢ºÍÇëÇóµÄÎı¾¸ñʽ¡£
Java Debuger Interface£¨JDI£©£¬¶¨ÒåÁË´úÂ뼶±ðµÄµ÷ÊÔ½Ó¿Ú¡£
´Ó¿ª·¢ÕߵĽǶÈÀ´¿´£¬µ÷ÊÔ¹¤¾ßµÄ¿ª·¢¼È¿ÉÒÔ»ù
Ïà¹ØÎĵµ£º
µÚÒ»£¬Ì¸Ì¸final, finally, finalizeµÄÇø±ð¡£ ¡¡¡¡
final—ÐÞÊηû£¨¹Ø¼ü×Ö£©Èç¹ûÒ»¸öÀà±»ÉùÃ÷Ϊfinal£¬Òâζ×ÅËü²»ÄÜÔÙÅÉÉú³öеÄ×ÓÀ࣬²»ÄÜ×÷Ϊ¸¸Àà±»¼Ì³Ð¡£Òò´ËÒ»¸öÀ಻Äܼȱ»ÉùÃ÷Ϊ
abstractµÄ£¬ÓÖ±»ÉùÃ÷ΪfinalµÄ¡£½«±äÁ¿»ò·½·¨ÉùÃ÷Ϊfinal£¬¿ÉÒÔ±£Ö¤ËüÃÇÔÚʹÓÃÖв»±»¸Ä±ä¡£±»ÉùÃ÷ΪfinalµÄ±äÁ¿±ØÐëÔÚÉùÃ÷ʱ¸ø¶¨
......
Java ʹµÃ¸´ÔÓÓ¦ÓõĿª·¢±äµÃÏà¶Ô¼òµ¥£¬ºÁÎÞÒÉÎÊ£¬ËüµÄÕâÖÖÒ×ÓÃÐÔ¶ÔJavaµÄ´ó·¶Î§Á÷Ðй¦²»¿Éû¡£È»¶ø£¬ÕâÖÖÒ×ÓÃÐÔʵ¼ÊÉÏÊÇÒ»°ÑË«Èн£¡£Ò»¸öÉè¼ÆÁ¼ºÃµÄ Java³ÌÐò£¬ÐÔÄܱíÏÖÍùÍù²»ÈçÒ»¸öͬÑùÉè¼ÆÁ¼ºÃµÄC++³ÌÐò¡£ÔÚJava³ÌÐòÖУ¬ÐÔÄÜÎÊÌâµÄ´ó²¿·ÖÔÒò²¢²»ÔÚÓÚJavaÓïÑÔ£¬¶øÊÇÔÚÓÚ³ÌÐò±¾Éí¡£Ñø³ÉºÃµÄ´úÂë±àдϰ¹ß·Ç³£ÖØÒª£¬±ÈÈçÕ ......
¾¡Á¿¸´ÓöÔÏ󣬶ø²»ÊÇ´´½¨ÐµĶÔÏó£¬ÌرðÊǵ±Ò»¸ö¶ÔÏóÊÇimmutable£¨²»¿É¸Ä±ä£©µÄʱºò¡£ ÈçString¶ÔÏó£¬ String s= new String(¡°String¡±); ǧÍò²»ÒªÕâÑù×ö£¬ÒòΪÕâÀïʵ¼ÊÉÏ´´½¨ÁËÁ½¸ö¶ÔÏó¡£ Òª±ÜÃâ³öÏÖÕâÑùµÄÇé¿ö£¬ 1ÊÇ¿ÉÒÔÓþ²Ì¬¹¤³§º¯Êý£¬À´½â¾ö£¬ÈçÀà¿âÖеÄBoolean.valueOf(¡°true¡±)£¬ÕâÖÖ·½Ê½ÒªÓÅÓÚn ......
13.1.2 À༯¿ò¼ÜÖ÷Òª½Ó¿Ú
ÔÚÕû¸öJavaÀ༯ÖÐ×ʹÓõÄÀ༯½Ó¿ÚÊÇ£ºCollection¡¢List¡¢Set¡¢Map¡¢Iterator¡¢ListIterator¡¢Enumeration¡¢SortedSet¡¢SortedMap¡¢Queue¡¢Map.Entry£¬ÕâЩ½Ó¿ÚµÄ¾ßÌåÌصãÈç±í13-1Ëùʾ¡£
±í13-1 À༯¿ò¼Ü½Ó¿ÚµÄ¾ßÌåÌصã
Ðò ºÅ
½Ó ¿Ú
Ãè&nb ......
³õ̽javaÄÚ´æ»úÖÆ_¶ÑºÍÕ»
ÎÊÌâµÄÒýÈ룺
ÎÊÌâÒ»£º
String str1 = "abc";
String str2 = "abc";
System.out.println(str1==str2); //true
ÎÊÌâ¶þ£º
String str1 =new String ("abc");
String str2 =new String ("abc");
System.out.println(str1==str2); // false
ÎÊÌâÈý£º
String s1 = "ja";
String s2 = "v ......