1¡¢ÀàµÄÐÞÊηû·ÖΪ£º¿É·ÃÎÊ¿ØÖÆ·ûºÍ·Ç·ÃÎÊ¿ØÖÆ·ûÁ½ÖÖ¡£
¿É·ÃÎÊ¿ØÖÆ·ûÊÇ£º¹«¹²ÀàÐÞÊηû public
·Ç·ÃÎÊ¿ØÖÆ·ûÓУº³éÏóÀàÐÞÊηû abstract £»×îÖÕÀàÐÞÊηû final
1 £©¹«¹²ÀàÐÞÊηû public £º Java ÓïÑÔÖÐÀàµÄ¿É·ÃÎÊ¿ØÖÆ·ûÖ»ÓÐÒ»¸ö£º public ¼´¹«¹²µÄ¡£Ã¿¸ö Java ³ÌÐòµÄÖ÷Àà¶¼±ØÐëÊÇ public Àà×÷Ϊ¹«¹²¹¤¾ß¹©ÆäËüÀàºÍ³ÌÐòʹÓõÄÓ¦¶¨ÒåΪ public Àà¡£
2 £©³éÏóÀàÐÞÊηû abstract £º·²ÊÇÓà abstract ÐÞÊηûÐÞÊεÄÀ࣬±»³ÆÎª³éÏóÀà¡£Ëùν³éÏóÀàÊÇÖ¸ÕâÖÖÀàûÓоßÌå¶ÔÏóµÄÒ»ÖÖ¸ÅÄîÀà¡£ÕâÑùµÄÀà¾ÍÊÇ Java ÓïÑ﵀ abstract Àà¡£
3 £© ×îÖÕÀàÐÞÊηû final £ºµ±Ò»¸öÀ಻¿ÉÄÜÓÐ×ÓÀàʱ¿ÉÓÃÐÞÊηû final °ÑËü˵Ã÷Ϊ×îÖÕÀà¡£±»¶¨ÒåΪ final µÄÀàͨ³£ÊÇһЩÓй̶¨×÷Óá¢ÓÃÀ´Íê³ÉijÖÖ±ê×¼¹¦ÄܵÄÀà¡£
4 £©Ààȱʡ·ÃÎÊ¿ØÖÆ·û£ºÈç¹ûÒ»¸öÀàûÓзÃÎÊ¿ØÖÆ·û£¬ËµÃ÷Ëü¾ßÓÐȱʡµÄ·ÃÎÊ¿ØÖÆ·ûÌØÐÔ¡£´Ëʱ£¬Õâ¸öÀàÖ»Äܱ»Í¬Ò»¸ö°üÖеÄÀà·ÃÎÊ»òÒýÓá£ÕâÒ»·ÃÎÊÌØÐÔÓÖ³ÆÎª°ü·ÃÎÊÐÔ¡£
2 £®ÓòµÄ¿ØÖÆÐÞÊηûÒ²·ÖΪ£º¿É·ÃÎÊ¿ØÖÆ·ûºÍ·Ç·ÃÎÊ¿ØÖÆ·ûÁ½Àà¡£
¿É·ÃÎÊ¿ØÖÆ·ûÓÐ 4 ÖÖ£º¹«¹²·ÃÎÊ¿ØÖÆ·û£º public £»Ë½ÓзÃÎÊ¿ØÖÆ·û£º private £»±£»¤·ÃÎÊ¿ØÖÆ·û£º protected £»Ë½Óб£»¤·ÃÎÊ¿ØÖÆ·û£º private protected
·Ç·ÃÎ ......
×î½üÒªÔÚÒ»¸öJAVA¹¤³ÌÖе÷ÓÃÒ»¸ö±ðÈ˵ÄDLL¿â£¬³öÏÖÁËÒÔÏÂÎÊÌ⣺ƽ̨ÊÇJDK1.6.0_2
±ðÈ˵ÄDLLµ¼³öµÄº¯ÊýÀàËÆÓÚ_Java_Sth_1Find@12 £¬¶øÎÒ·ÃÎʸú¯ÊýµÄÀàÈç¹ûÔÚdefault packageϾͿÉÒÔÕý³£·ÃÎÊ£¬¾ÍÊÇ˵DLLµ¼³öµÄJNIÊÇÔÚĬÈϰüÏµģ¬¶øÈç¹û°Ñ¸ÃÀà·ÅÈëÌØ¶¨µÄ°üϾͻá³öÏÖException in thread "main" java.lang.UnsatisfiedLinkError:com.Sth.Find()IµÄÒì³££¬µ«Èç¹ûÖ±½Ó·Åµ½default packageÏ£¬ÆäËüÀàÓÖÎÞ·¨·ÃÎÊËü£¨¾²éÔÚJDK1.4.0ÒÔºó¾Í²»Ö§³Öµ¼Èëdefault package°üÖеÄÀàÁË£©
³ýÁ˰ÑËùÓÐÀà¶¼·ÅÈëdefault packageÏ£¬²»ÖªµÀ»¹ÓÐûÓбðµÄ°ì·¨¡£ ......
¶ÔÏó¾ßÓÐ״̬,ÐÐΪ,±êʶ.¶ÔÏóµÄÎå¸ö»ù±¾ÌØÐÔ:
ÍòÎï½Ô¶ÔÏó,³éÈ¡´ýÇó½âÎÊÌâµÄÈκθÅÄ¹¹¼þ,½«Æä±íʾΪ³ÌÐòÖеĶÔÏó
³ÌÐòÊǶÔÏóµÄ¼¯ºÏ,ËûÃÇͨ¹ý·¢ËÍÏûÏ¢À´¸æÖª±Ë´ËËùÒª×öµÄ
ÿ¸ö¶ÔÏó¶¼ÓÐ×Ô¼ºµÄÓÉÆäËû¶ÔÏóËù¹¹³ÉµÄ´æ´¢,´´½¨°üº¬ËùÓжÔÏóµÄ°üµÄ·½Ê½À´´´½¨ÐÂÀàÐ͵ĶÔÏó
ÿ¸ö¶ÔÏó¶¼ÓµÓÐÆäÀàÐÍ
Ä³Ò»ÌØ¶¨ÀàÐ͵ÄËùÓжÔÏ󶼿ÉÒÔ½ÓÊÕͬÑùµÄÏûÏ¢
1¡£java»¹Óиö"ȱʡ"µÄ·ÃÎÊȨÏÞ£¬Èç¹ûÄãûÓÃpublic¡¢protected¡¢privateµÄ»°£¬ÄǾÍÊÇÖ¸ËüÁË¡£Í¨³£°ÑËü³ÆÎªpackage·ÃÎÊȨÏÞ¡£Òò ΪͬÊôÕâ¸öpackageµÄÀà¿ÉÒÔ·ÃÎÊÕâ¸öpackageÖÐÆäËüÀàµÄ"ȱʡ"ȨÏ޵ijÉÔ±£¬µ«ÊdzöÁËÕâ¸öpackage£¬ËüÃǾͶ¼ÊÇprivateµÄÁË¡£
2¡£¶à̬ÐÔ£¬´¦ÀíÀàϵµÄʱºò£¬Í¨³£Äã²»ÓðÑËüµ±×÷ij¸ö¾ßÌåµÄÀàÐÍ£¬Ö»Òª°ÑËüµ±×÷»ùÀà¶ÔÏó¾Í¿ÉÒÔÁË£¬¼´°Ñ·ºÐ͵ĻùÀ൱×÷ÅÉÉúÀàÀ´Ó᣷ÇoopµÄ±àÒëÆ÷µÄ×ö·¨ÊÇǰ°ó¶¨£¬¼´±àÒëÆ÷»á²úÉúÄǸöÃû×ֵĺ¯Êýµ÷Ó㬶øÁ¬½ÓÆ÷¸ºÔð½«Õâ¸öµ÷ ......
JavaµÄÄÚ´æÄ£ÐÍJMM£¨Java Memory Model£©JMMÖ÷ÒªÊÇΪÁ˹涨ÁËÏ̺߳ÍÄÚ´æÖ®¼äµÄһЩ¹ØÏµ¡£¸ù¾ÝJMMµÄÉè¼Æ£¬ÏµÍ³´æÔÚÒ»¸öÖ÷ÄÚ´æ(Main Memory)£¬JavaÖÐËùÓÐʵÀý±äÁ¿¶¼´¢´æÔÚÖ÷´æÖУ¬¶ÔÓÚËùÓÐÏ̶߳¼Êǹ²ÏíµÄ¡£Ã¿ÌõÏ̶߳¼ÓÐ×Ô¼ºµÄ¹¤×÷ÄÚ´æ(Working Memory)£¬¹¤×÷ÄÚ´æÓÉ»º´æºÍ¶ÑÕ»Á½²¿·Ö×é³É£¬»º´æÖб£´æµÄÊÇÖ÷´æÖбäÁ¿µÄ¿½±´£¬»º´æ¿ÉÄܲ¢²»×ܺÍÖ÷´æÍ¬²½£¬Ò²¾ÍÊÇ»º´æÖбäÁ¿µÄÐ޸ĿÉÄÜûÓÐÁ¢¿Ìдµ½Ö÷´æÖУ»¶ÑÕ»Öб£´æµÄÊÇÏ̵߳ľֲ¿±äÁ¿£¬Ïß³ÌÖ®¼äÎÞ·¨Ï໥ֱ½Ó·ÃÎʶÑÕ»ÖеıäÁ¿ ²»¶Ï²¹³äÖС¡¡¡. javaÄÚ´æÄ£ÐÍÏê½â http://kenwublog.com/explain-java-memory-model-in-detail ......
StringÀàûÓÐÌṩÐÞ¸ÄÒ»¸öÒÑ´æÔÚµÄ×Ö·û´®ÖеÄijһ¸ö×Ö·ûµÄ·½·¨£¬ÀýÈ磺String greeting="Hello";Èç¹ûÏë°Ñgreeting±ä³É"Help!"£¬²»ÄÜÖ±½Ó°ÑgreetingµÄ×îºóһλ±ä³É'p'ºÍ'!'£¬¶øÊDZ£ÁôÐèÒªµÄ×Ö·û´®£¬½«Ìæ»»µÄ×Ö·û´®Í¨¹ý"+"Á¬½ÓÔÚÒ»Æð¡£
greeting=greeting.substring(0,3)+"p!";
StringÀàÊDz»¿É¸Ä±äµÄ£¬¾ÍÏñÊý×Ö3¾ÍÊÇ3£¬×Ö·û´®"Hello"×ÜÊǰüº¬H,e,l,l,oµÈ×Ö·ûµÄÓÐÐò¼¯ºÏ£¬ÕâЩ×Ö·ûÊDz»ÄܸıäµÄ£¬Ö»ÄÜͨ¹ý¸Ä±ä±äÁ¿greetingµÄÄÚÈÝ£¬Ê¹ËüÖ¸ÏòÁíÒ»¸ö²»Í¬µÄ×Ö·û´®¡£
ÕâÑùÊÇ·ñ»áµ¼ÖÂЧÂʽµµÍ£¿Ö»¸Ä±äijЩ×Ö·û¿´ÆðÀ´±È´´½¨Ò»¸öеÄ×Ö·û´®¼òµ¥£¬ÊÂʵÉÏ£¬ÖØÐÂÉú³É×Ö·û´®£¬²¢ÇÒ°Ñ"Hel"ºÍ"p!"Æ´½ÓÆðÀ´£¬²¢²»»áÓ°ÏìЧÂÊ¡£ÒòΪStringÓÐÒ»¸ö¾Þ´óµÄÓŵ㣺±àÒëÆ÷½«×Ö·û´®ÉèÖÃΪ¹²ÏíµÄ¡£¿ÉÒÔÏëÏóµ½£¬Ðí¶à×Ö·û´®´æ·ÅÔÚÒ»¸ö¹«¹²µÄ³ØÖС£String±äÁ¿Ö¸Ïò³ØÖеÄijһ¸öλÖá£Èç¹û¿½±´Ò»¸öString±äÁ¿£¬ÄÇôÔÀ´µÄ±äÁ¿ºÍеıäÁ¿¶¼Ö¸Ïòͬһ¸ö×Ö·û´®¡£
ÕâÀïËù˵µÄ¹²Ïíͬһ¸ö×Ö·û´®£¬ÊǶÔ×Ö·û´®³£Á¿À´ËµµÄ£¬¶ÔÓÚsubstring»òÕß+À´Ëµ£¬²¢²» ......
Ò»¡¢±ÜÃâÔÚÑ»·Ìõ¼þÖÐʹÓø´ÔÓ±í´ïʽ
ÔÚ²»×ö±àÒëÓÅ»¯µÄÇé¿öÏ£¬ÔÚÑ»·ÖУ¬Ñ»·Ìõ¼þ»á±»·´¸´¼ÆË㣬Èç¹û²»Ê¹Óø´ÔÓ±í´ïʽ£¬¶øÊ¹Ñ»·Ìõ¼þÖµ²»±äµÄ»°£¬³ÌÐò½«»áÔËÐеĸü¿ì¡£
Àý×Ó£º
import java.util.Vector;
class CEL {
void method (Vector vector) {
for (int i = 0; i < vector.size (); i++) // Violation
; // ...
}
}
¸üÕý£º
class CEL_fixed {
void method (Vector vector) {
int size = vector.size ()
for (int i = 0; i < size; i++)
; // ...
}
}
¶þ¡¢Îª'Vectors' ºÍ 'Hashtables'¶¨Òå³õʼ´óС
JVMΪVectorÀ©³ä´óСµÄʱºòÐèÒªÖØÐ´´½¨Ò»¸ö¸ü´óµÄÊý×飬½«ÔÔÏÈÊý×éÖеÄÄÚÈݸ´ÖƹýÀ´£¬×îºó£¬ÔÏȵÄÊý×éÔÙ±»»ØÊÕ¡£¿É¼ûVectorÈÝÁ¿µÄÀ©´óÊÇÒ»¸öÆÄ·Ñʱ¼äµÄÊ¡£
ͨ³££¬Ä¬Èϵ ......