¡¾×ª¡¿Java³ÌÐòÐÔÄÜÓÅ»¯
Ò»¡¢±ÜÃâÔÚÑ»·Ìõ¼þÖÐʹÓø´ÔÓ±í´ïʽ
ÔÚ²»×ö±àÒëÓÅ»¯µÄÇé¿öÏ£¬ÔÚÑ»·ÖУ¬Ñ»·Ìõ¼þ»á±»·´¸´¼ÆË㣬Èç¹û²»Ê¹Óø´ÔÓ±í´ïʽ£¬¶øÊ¹Ñ»·Ìõ¼þÖµ²»±äµÄ»°£¬³ÌÐò½«»áÔËÐеĸü¿ì¡£
Àý×Ó£º
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ÈÝÁ¿µÄÀ©´óÊÇÒ»¸öÆÄ·Ñʱ¼äµÄÊ¡£
ͨ³££¬Ä¬ÈϵÄ10¸öÔªËØ´óСÊDz»¹»µÄ¡£Äã×îºÃÄÜ׼ȷµÄ¹À¼ÆÄãËùÐèÒªµÄ×î¼Ñ´óС¡£
Àý×Ó£º
import java.util.Vector;
public class DIC {
public void addObjects (Object[] o) {
// if length > 10, Vector needs to expand
for (int i = 0; i< o.length;i++) {
v.add(o); // capacity before it can add more elements.
}
}
public Vector v = new Vector(); // no initialCapacity.
}
¸üÕý£º
×Ô¼ºÉ趨³õʼ´óС¡£
public Vector v = new Vector(20);
public Hashtable hash = new Hashtable(10);
²Î¿¼×ÊÁÏ£º
Dov Bulka, "Java Performance and Scalability Volume 1: Server-Side Programming
Techniques" Addison Wesley, ISBN: 0-201-70429-3 pp.55 – 57
Èý¡¢ÔÚfinally¿éÖйرÕStream
³ÌÐòÖÐʹÓ
Ïà¹ØÎĵµ£º
±¾ÎĽéÉܵÄJAVA¹æÔòµÄ˵Ã÷·ÖΪ3¸öÖ÷Òª¼¶±ð£¬±¾ÆªÅׯúÁËÆ½Ê±¿ª·¢ÖкÜÉÙÓöµ½µÄÇé¿ö£¬ÄÇЩÓõñȽÏÉÙµÄÒÔºóÔٸ߼¶ÆªÀïÃæ³öÏÖ¡£²¢ÓÐÁù¸öÓÐÓõĹú¼ÊÈí¼þ¿ª·¢ÖØÒª×¢ÒâµÄÓйØStringµÄÎÊÌ⣬×ñÊØÁËÕâЩ¹æÔò¿ÉÒÔÌá¸ß³ÌÐòµÄЧÂÊ¡¢Ê¹´úÂëÓÖ¸üºÃµÄ¿É¶ÁÐԵȡ£
£¨1£© Èç¹ûÓÐJDBCÁ¬½ÓûÓйصôµÄ»°£¬ÐèÒªÔÚ"finally"·½·¨Öйصô
Èç ......
Java Web¿ª·¢ÖУ¬ÓÐÐí¶à¹²Í¨µÄÎÊÌ⣬ÊÇ¿ª·¢ÈËÔ±ÔÚ¿ª·¢¹ý³ÌÖÐÒ»¶¨»áÓöµ½µÄ£¬ÐèÒª´¦ÀíµÄÎÊÌ⣺
1. ÂÒÂëÎÊÌâ
ΪºÎ»á³öÏÖÂÒÂëÎÊÌ⣿¼ÈÈ»ÓÐÂÒÂëÎÊÌ⣬¿Ï¶¨ÊÇÓÉÓÚ±àÂëÉèÖõIJ»Ò»Öµ¼Öµġ£ÔÚWeb¿ª·¢
¹ý³ÌÖУ¬Éæ¼°ÒÔÏÂһЩ±àÂëÉèÖ㬿ͻ§¶Ë²ÎÊýµÄ±àÂëÉèÖã¬Web·þÎñÆ÷µÄ±àÂëÉèÖ㬷þÎñÆ÷¶ËÓ¦ÓóÌÐòµÄ±àÂëÉèÖã¬Êý¾Ý¿â ......
¸ú×ÅÀÏʦѧjavaÕâô¾ÃÁË£¬¶ÔÕâÖÖÕâ¸öÓïÑÔСϺÊÇÕâÑùÀí½âµÄ£¬ËüÊǸöÖÖÉϳ˵ÄÎä¹¦ÃØ¼® £¨µ±È»°üÀ¨ÆäËûÓïÑÔ£©£¬Ñ§Ï°Ê±ºÜÈÝÒ××ß»ðÈëħ£¡ÓкܶàjavaµÄ¸ßÊÖ£¬ºÜÀ÷º¦£¡ºÎÒÔ¼ûµÃ£¬ÄãҪʲôʲô¶¼ÄܸøÄãд³öÀ´¶øÇÒÓÃʱ·Ç³£µÄÉÙ£¬Ð¡Ïº²»²Å£¬Ò»Ö±ÒÔÀ´ÐÅ·îÕâÑù²Å½Ð³ÌÐòÔ±£¡ÆäʵСϺÀí½â´í¿©£¬´íÔÚ°ÜÁË£¡Íæ¼¼Êõ£¬Ö»Òª¿¼Ò»¿¼±ãÖªµÀÄãµÄ訮 ......
JavaµÄÄÚ´æÄ£ÐÍJMM£¨Java Memory Model£©JMMÖ÷ÒªÊÇΪÁ˹涨ÁËÏ̺߳ÍÄÚ´æÖ®¼äµÄһЩ¹ØÏµ¡£¸ù¾ÝJMMµÄÉè¼Æ£¬ÏµÍ³´æÔÚÒ»¸öÖ÷ÄÚ´æ(Main Memory)£¬JavaÖÐËùÓÐʵÀý±äÁ¿¶¼´¢´æÔÚÖ÷´æÖУ¬¶ÔÓÚËùÓÐÏ̶߳¼Êǹ²ÏíµÄ¡£Ã¿ÌõÏ̶߳¼ÓÐ×Ô¼ºµÄ¹¤×÷ÄÚ´æ(Working Memory)£¬¹¤×÷ÄÚ´æÓÉ»º´æºÍ¶ÑÕ»Á½²¿·Ö×é³É£¬»º´æÖб£´æµÄÊÇÖ÷´æÖбäÁ¿µÄ¿½±´£¬»º´ ......
StringÀàûÓÐÌṩÐÞ¸ÄÒ»¸öÒÑ´æÔÚµÄ×Ö·û´®ÖеÄijһ¸ö×Ö·ûµÄ·½·¨£¬ÀýÈ磺String greeting="Hello";Èç¹ûÏë°Ñgreeting±ä³É"Help!"£¬²»ÄÜÖ±½Ó°ÑgreetingµÄ×îºóһλ±ä³É'p'ºÍ'!'£¬¶øÊDZ£ÁôÐèÒªµÄ×Ö·û´®£¬½«Ìæ»»µÄ×Ö·û´®Í¨¹ý"+"Á¬½ÓÔÚÒ»Æð¡£
greeting=greeting.su ......