»ùÓÚ JVMTI ʵÏÖ Java Ïß³ÌµÄ¼à¿Ø
Ëæ×ŶàºË CPU µÄÈÕÒæÆÕ¼°£¬Ô½À´Ô½¶àµÄ Java Ó¦ÓóÌÐòʹÓöàÏ̲߳¢ÐмÆËãÀ´³ä·Ö·¢»ÓÕû¸öϵͳµÄÐÔÄÜ¡£¶àÏ̵߳ÄʹÓÃÒ²¸øÓ¦ÓóÌÐò¿ª·¢ÈËÔ±´øÀ´Á˾޴óµÄÌôÕ½£¬²»ÕýÈ·µØÊ¹ÓöàÏ߳̿ÉÄÜÔì³ÉÏß³ÌËÀËø»ò×ÊÔ´¾ºÕù£¬µ¼ÖÂϵͳ̱»¾¡£Òò´Ë£¬ÐèÒªÒ»ÖÖÔËÐÐʱÏß³Ì¼à¿Ø¹¤¾ßÀ´°ïÖú¿ª·¢ÈËÔ±Õï¶ÏºÍ¸ú×Ù Java Ïß³Ì״̬µÄÇл»¡£JDK 1.5 ¼°ÆäºóÐø°æ±¾ÌṩÁË¼à¿ØÐéÄâ»úÔËÐÐ״̬µÄ½Ó¿Ú JVMTI¡£±¾ÎÄÉîÈë·ÖÎöÁË JVM ÖÐµÄ Java Ïß³ÌÄ£ÐÍ£¬Éè¼ÆÁËÓÃÓÚ¼à¿ØÏß³Ì״̬Çл»µÄÄ£ÐÍ£¬²¢»ùÓÚ JVMTI ʵÏÖÁË¶Ô Java Ïß³ÌÇл»½øÐÐ¼à¿ØµÄ´úÀí³ÌÐò¡£
JVMTI ¹¤¾ß½Ó¿Ú
Ëæ×ŶàºË CPU ¼¼ÊõµÄ·¢Õ¹£¬¶àÏ̱߳à³Ì¼¼Êõ±»¹ã·ºµØÓ¦Ó㬴Ӷø³ä·Ö·¢»ÓÕû¸öϵͳµÄÐÔÄÜ¡£Java ÓïÑÔ¶Ô¶àÏ̱߳à³ÌÌṩÁËÓïÑÔ¼¶µÄÖ§³Ö£¬¿ÉÒÔ·½±ãµØ´´½¨¡¢ÔËÐС¢Ïú»ÙÏ̡߳£È»¶ø£¬¶àÏ̵߳ÄʹÓÃÒ²¸øÓ¦ÓóÌÐò¿ª·¢ÈËÔ±´øÀ´Á˾޴óµÄÌôÕ½£¬²»ÕýÈ·µØÊ¹ÓöàÏ߳̿ÉÄÜÔì³ÉÏß³ÌËÀËø»ò×ÊÔ´¾ºÕù£¬µ¼ÖÂϵͳ̱»¾¡£
ΪÁ˰ïÖú Java ¿ª·¢ÈËÔ±Õï¶ÏºÍ¸ú×Ù Java Ïß³Ì״̬µÄÇл»£¬Sun ¹«Ë¾ÔÚ Java ¿ª·¢¹¤¾ß°ü£¨Java2 Software Development Kit, JDK£©1.5.0 °æ±¾ÖÐÒý½øÁË Java ÐéÄâ»ú¹¤¾ß½Ó¿Ú£¨Java Virtual Machine Toolkit Interface£¬JVMTI£©£¬ÓÃÓÚÌæ´úÔÚÏÈǰµÄ JDK °æ±¾ÖÐ×÷ΪÊÔÑ鹦ÄÜ´æÔÚµÄ Java ÐéÄâ»úÆÊÎö½Ó¿Ú£¨Java Virtual Machine Profiling Interface£¬JVMPI£©ºÍ Java ÐéÄâ»úµ÷ÊÔ½Ó¿Ú£¨Java Virtual Machine Debugging Interface£¬JVMDI£©¡£Í¨¹ý JVMTI ½Ó¿Ú¿ÉÒÔ´´½¨´úÀí³ÌÐò£¨Agent£©ÒÔ¼àÊӺͿØÖÆ Java Ó¦ÓóÌÐò£¬°üÀ¨ÆÊÎö¡¢µ÷ÊÔ¡¢¼à¿Ø¡¢·ÖÎöÏ̵߳ȵȣ¬Æä¼Ü¹¹Ä£ÐÍÈçͼ 1 Ëùʾ¡£
ͼ 1. JVMTI ¼Ü¹¹Ä£ÐÍ
Agent ¿ÉÒÔÏòÔËÐÐÖеÄÐéÄâ»úʵÀý¶©ÔĸÐÐËȤµÄʼþ£¬µ±ÕâЩʼþ·¢ÉúµÄʱºò£¬»áÒÔʼþ»Øµ÷º¯ÊýµÄ·½Ê½¼¤»î´úÀí³ÌÐò£¬Í¬Ê± JVMTI ÌṩÁËÖÚ¶àµÄ¹¦Äܺ¯Êý£¬ÒÔ²éѯºÍ¿ØÖÆ Java Ó¦ÓóÌÐòµÄÔËÐÐ״̬¡£Agent ͨ¹ý JVMTI ËùÌṩµÄ½Ó¿ÚÓëÐéÄâ»ú½øÐÐͨÐÅ£¬²¢Í¬²½¼à¿ØÐéÄâ»úµÄÔËÐÐ״̬£¬ËüÓëÔËÐÐÖÐµÄ Java Ó¦ÓóÌÐòÊÇÏà¶Ô¶ÀÁ¢µÄ£¬²»»á¸ÉÈųÌÐòµÄÕý³£ÔËÐС£Agent ¿ÉÒÔÓÃÈκÎÖ§³Ö C ÓïÑÔ±ê×¼µÄ±¾µØÓïÑÔÀ´±àд£¬²¢ÒÔ¶¯Ì¬Á´½Ó¿âµÄ·½Ê½´æÔÚ£»Java ³ÌÐòÆô¶¯µÄʱºò¿ÉÒÔ¼ÓÔØÕâ¸ö¶¯Ì¬Á´½Ó¿â¡£
»ùÓÚ JVMTI ½Ó¿Ú¹¹½¨µÄ Agent ¿ÉÒÔ·½±ãµØÊµÏÖ¶Ô Java Ïß³Ì״̬Çл»µÄ¸ú×Ù£¬´Ó¶øÊ¹¿ª·¢ÈËÔ±Äܹ»ÔÚÔËÐÐʱÇå³þµØÁ˽â¶àÏß³ÌÓ¦ÓóÌÐòÖÐÏ̵߳Ť×÷Çé¿ö£¬·½±ã½øÐе÷ÊԺͳý´í¡£±¾ÎĺóÐø²¿·Ö½«½éÉÜÈçºÎ»ùÓÚ JVMTI ½Ó¿Ú¹¹½¨ Java Ïß³ÌÇл»¼à¿Ø´úÀí¡£
»ØÒ³Ê×
Java Ïß³ÌÄ£ÐÍ
Ò
Ïà¹ØÎĵµ£º
ѸÀ×ÃæÊÔ»ØÀ´£¬ÓÃÁËÕûÕûÒ»ÏÂÎ磨²»ÖªµÀÔõô˵ÁË£¬ÆäÖеȴýʱ¼ä¶¼¿ì2СʱÁË£©£¬×Ô¼º¸Ð¾õ±ÊÊÔºÍÉÏ»ú»¹¿ÉÒÔ£¬µ«¼¼ÊõÃæÌ¸ÕâÒ»¹Ø´ðµÃ²»Ì«ºÃ£¬ÏÖÔÚÔٴθоõ»¥ÁªÍø¹«Ë¾ÓëÒ»°ãÈí¼þ¹«Ë¾µÄÇø±ðÁË£¬ÆäÖÐÒ»µã¾ÍÊÇ»¥ÁªÍøÓ¦ÓÃÔÚÐÔÄÜÉÏÒªÇóºÜ¸ß£¬Ì¸ÁËÒ»¸öСʱ´ó²¿·ÖÌâÄ¿¸Ð¾õ¶¼ÔÚ̸ÂÛÐÔÄÜÎÊÌ⣬×Ô¼ºÔÚ·½ÃæÒ»Ö±ÊÇÈõÏº¹°¡£º£¨
×Ðϸ»ØÒäÁË ......
³õ̽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 ......
·ºÐÍ£¨Generic type »òÕßgenerics£©ÊÇ¶Ô Java ÓïÑÔµÄÀàÐÍϵͳµÄÒ»ÖÖÀ©Õ¹£¬ÒÔÖ§³Ö´´½¨¿ÉÒÔ°´ÀàÐͽøÐвÎÊý»¯µÄÀà¡£¿ÉÒÔ°ÑÀàÐͲÎÊý¿´×÷ÊÇʹÓòÎÊý»¯ÀàÐÍʱָ¶¨µÄÀàÐ͵ÄÒ»¸öռλ·û£¬¾ÍÏñ·½·¨µÄÐÎʽ²ÎÊýÊÇÔËÐÐʱ´«µÝµÄÖµµÄռλ·ûÒ»Ñù¡£
¿ÉÒÔÔÚ¼¯ºÏ¿ò¼Ü£¨Collection framework£©Öп´µ½·ºÐ͵͝»ú¡£ÀýÈ磬MapÀàÔÊÐíÄúÏòÒ»¸öMapÌí ......
±¾ÎÄ¶Ô Java Debug Interface£¨JDI£©¼°ÆäʹÓýøÐÐÁ˽éÉÜ£¬²¢Í¨¹ýʵÏÖÒ»¸ö¶àÏ̷߳ÖÎöÆ÷µÄʾÀýÓ¦Óã¬ÑÝʾÁËÈçºÎÀûÓà JDI ¿ª·¢×Ô¼ºµÄ¶àÏ̵߳÷ÊÔ³ÌÐò¡£¸ÃʾÀý·ÖÎöÆ÷ÔÚ¶ÀÁ¢ÓÚÄ¿±ê³ÌÐòµÄǰÌáÏ£¬ÒÔµ¥¸öÏß³ÌÁ÷Ϊµ¥Î»£¬°ïÖú×·×ټǼ¶àÏ̵߳ÄÖ´Ðйý³ÌÐÅÏ¢¡£
¶àÏ̻߳·¾³ÏµijÌÐòµ÷ÊÔÊÇÈÿª·¢ÕßÍ·Í´µÄÎÊÌâ¡£ÔÚ IDE ÖÐͨ¹ýÌí¼Ó¶ÏµãµÄ·½ ......