1.ÄãÐèÒª¾«Í¨ÃæÏò¶ÔÏó·ÖÎöÓëÉè¼Æ(OOA/OOD)¡¢É漰ģʽ(GOF£¬J2EEDP)ÒÔ¼°×ÛºÏģʽ¡£ÄãÓ¦¸ÃÊ®·ÖÁ˽âUML£¬ÓÈÆäÊÇclass£¬object£¬interactionÒÔ¼°statediagrams¡£
¡¡¡¡2.ÄãÐèҪѧϰJAVAÓïÑԵĻù´¡ÖªÊ¶ÒÔ¼°ËüµÄºËÐÄÀà¿â
(collections£¬serialization£¬streams£¬networking£¬
multithreading£¬reflection£¬event£¬handling£¬NIO£¬localization£¬ÒÔ¼°ÆäËû)¡£
¡¡¡¡3.ÄãÓ¦¸ÃÁ˽âJVM£¬classloaders£¬classreflect£¬ÒÔ¼°À¬»ø»ØÊյĻù±¾¹¤×÷»úÖÆµÈ¡£ÄãÓ¦¸ÃÓÐÄÜÁ¦·´±àÒëÒ»¸öÀàÎļþ²¢ÇÒÃ÷°×һЩ»ù±¾µÄ»ã±àÖ¸Áî¡£
¡¡¡¡4.Èç¹ûÄ㽫Ҫд¿Í»§¶Ë³ÌÐò£¬ÄãÐèҪѧϰWEBµÄСӦÓóÌÐò(applet)£¬±ØÐèÕÆÎÕGUIÉè¼ÆµÄ˼ÏëºÍ·½·¨£¬ÒÔ¼°×ÀÃæ³ÌÐòµÄSWING£¬AWT£¬
SWT¡£Ä㻹Ӧ¸Ã¶ÔUI²¿¼þµÄJAVABEAN×é¼þģʽÓÐËùÁ˽⡣JAVABEANSÒ²±»Ó¦ÓÃÔÚJSPÖÐÒÔ°ÑÒµÎñÂß¼´Ó±íÏÖ²ãÖзÖÀë³öÀ´¡£
¡¡¡¡5.ÄãÐèҪѧϰjavaÊý¾Ý¿â¼¼Êõ£¬ÈçJDBCAPI²¢ÇÒ»áʹÓÃÖÁÉÙÒ»ÖÖpersistence/ORM¹¹¼Ü£¬ÀýÈçHibernate£¬JDO£¬ CocoBase£¬TopLink£¬InsideLiberator(¹ú²úJDOºì¹¤³§Èí¼þ)»òÕßiBatis¡£
¡¡¡¡6.Ä㻹Ӧ¸ÃÁ˽â¶ÔÏó¹ØÏµµÄ×迹ʧÅäµÄº¬Ò壬ÒÔ¼°ËüÊÇÈçºÎÓ°ÏìÒµÎñ¶ÔÏóµÄÓë¹ØÏµÐÍÊý¾Ý¿âµÄ½» ......
1¡¢StringÊÇ×î»ù±¾µÄÊý¾ÝÀàÐÍÂð?
»ù±¾Êý¾ÝÀàÐͰüÀ¨byte¡¢int¡¢char¡¢long¡¢float¡¢double¡¢booleanºÍshort¡£
java.lang.StringÀàÊÇfinalÀàÐ͵ģ¬Òò´Ë²»¿ÉÒԼ̳ÐÕâ¸öÀà¡¢²»ÄÜÐÞ¸ÄÕâ¸öÀࡣΪÁËÌá¸ßЧÂʽÚÊ¡¿Õ¼ä£¬ÎÒÃÇÓ¦¸ÃÓÃStringBufferÀà
2¡¢int ºÍ Integer ÓÐÊ²Ã´Çø±ð
Java ÌṩÁ½ÖÖ²»Í¬µÄÀàÐÍ£ºÒýÓÃÀàÐͺÍÔʼÀàÐÍ£¨»òÄÚÖÃÀàÐÍ£©¡£IntÊÇjavaµÄÔʼÊý¾ÝÀàÐÍ£¬IntegerÊÇjavaΪintÌṩµÄ·â×°Àà¡£JavaΪÿ¸öÔʼÀàÐÍÌṩÁË·â×°Àà¡£
ÔʼÀàÐÍ·â×°Àà
booleanBoolean
charCharacter
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
Òý
ÓÃÀàÐͺÍÔʼÀàÐ͵ÄÐÐΪÍêÈ«²»Í¬£¬²¢ÇÒËüÃǾßÓв»Í¬µÄÓïÒå¡£ÒýÓÃÀàÐͺÍÔʼÀàÐ;ßÓв»Í¬µÄÌØÕ÷ºÍÓ÷¨£¬ËüÃǰüÀ¨£º´óСºÍËÙ¶ÈÎÊÌ⣬ÕâÖÖÀàÐÍÒÔÄÄÖÖÀàÐ͵ÄÊý
¾Ý½á¹¹´æ´¢£¬µ±ÒýÓÃÀàÐͺÍÔʼÀàÐÍÓÃ×÷ij¸öÀàµÄʵÀýÊý¾ÝʱËùÖ¸¶¨µÄȱʡֵ¡£¶ÔÏóÒýÓÃʵÀý±äÁ¿µÄȱʡֵΪ
null£¬¶øÔʼÀàÐÍʵÀý±äÁ¿µÄȱʡֵÓëËüÃǵÄÀàÐÍÓйء£
3¡¢String ºÍStringBufferµÄÇø±ð
JAVAƽ̨ÌṩÁËÁ½¸ö
ÀࣺStringºÍStringBuffer£¬ËüÃÇ¿ÉÒÔ´¢´æºÍ²Ù×÷×Ö·û´®£¬¼´°üº¬¶à¸ö×Ö·ûµÄ×Ö·ûÊý¾Ý¡£Õâ¸öStringÀàÌṩÁËÊýÖµ²»¿É¸Ä±äµÄ×Ö·û´®¡£¶ø
Õâ¸ö ......
×¢£º1.·½·¨µÄ²ÎÊý length ÊÇÉú³ÉµÄËæ»úÊýµÄ³¤¶È¡£
2. Ö»ÏëÒª´óдµÄ×Öĸ ¿ÉÒÔʹ int choice =65£» Ö»ÏëҪСдµÄ×Öĸ£¬¾Í int choice =97£»
import java.util.Random;
public String getCharAndNumr(int length)
{
String val = "";
Random random = new Random();
for(int i = 0; i < length; i++)
{
String charOrNum = random.nextInt(2) % 2 == 0 ? "char" : "num"; // Êä³ö×Öĸ»¹ÊÇÊý×Ö
if("char".equalsIgnoreCase(charOrNum)) // ×Ö·û´®
{
& ......
Java¶¯»±à³ÌÓжàÖÖʵÏÖ·½·¨£¬µ«ËüÃÇʵÏֵĻù±¾ÔÀíÊÇÒ»ÑùµÄ£¬¼´ÔÚÆÁÄ»ÉÏ»³öһϵÁеÄÖ¡À´Ôì³ÉÔ˶¯µÄ¸Ð¾õ¡£Java¶àÏ̼߳¼ÊõÊÇJava¶¯»±à³ÌÖÐÆÕ±éÔËÓõļ¼Êõ£¬ËüÔÚ¿ØÖƶ¯»³ÌÐòµÄÁ÷³ÌºÍ¶¯»µÄÏÔʾЧ¹û·½ÃæÆð×ÅÖØÒªµÄ×÷Óá£Java¶¯»±à³ÌÖе͝»ÉÁ˸ºÍͼÏñ²Ðȱ²»È«µÈÏÖÏó£¬ÊÇJava³ÌÐòÔ±¾³£Óöµ½µÄÎÊÌâ¡£±¾ÎÄÒÔ×÷ÕßÓ¦ÓÃʵÀý³ÌÐòΪ»ù´¡£¬²ûÊöÈçºÎÔËÓöàÏ̡߳¢ÖØÔØUpdate¡¢Ë«»º³åºÍͼÏñ¸ú×ٵȼ¼ÇÉÀ´½â¾öÕâÀàÎÊÌ⣬ÒÔ´ïµ½¶¯»ÏÔʾµÄ×î¼ÑЧ¹û¡£
Java¶àÏ̼߳¼Êõ
Java¶àÏ̼߳¼Êõ¼ò½é
Ŀǰ£¬Ïß³Ì(Thread)ÒѾΪÐí¶à²Ù×÷ϵͳºÍÓ¦Óÿª·¢ÏµÍ³Ëù²ÉÓá£Ïß³ÌÊdzÌÐòµÄµ¥¸ö¿ØÖÆÁ÷£¬¾ßÓÐ˳Ðò³ÌÐòµÄÌØµã¡£µ«ÊÇ£¬Ï̲߳»ÊÇÒ»¸ö³ÌÐò£¬Ëü½ö½öÊdzÌÐòµÄÒ»¸öÖ´ÐÐÐòÁС£Ï߳̾ßÓкÜÇ¿µÄ²¢·¢¹¦ÄÜ£¬ÔÚͬһʱ¿Ì¿ÉÒÔÓжà¸öÏß³Ìͬʱ´¦ÓÚÖ´ÐÐ״̬¡£Ïß³ÌÊǶ¯Ì¬µÄ£¬¾ßÓÐÒ»¶¨µÄÉúÃüÖÜÆÚ£¬·Ö±ð¾Àú´Ó´´½¨¡¢Ö´ÐС¢×èÈû¡¢Ö±µ½ÏûÍöµÄ¹ý³Ì¡£JavaÓïÑÔ¶Ô¶àÏ̱߳à³ÌµÄÖ§³ÖÓÐÁ½ÖÖʵÏÖ·½·¨£ºÒ»ÖÖÊÇÖ±½Ó¼Ì³ÐThreadÀ࣬ÁíÒ»ÖÖÊÇʵÏÖRunnable½Ó¿Ú¡£ThreadÀàÌṩÁ˶ÔÏ̵߳ĿØÖÆ·½·¨£¬Èçstart()£¬stop()£¬run()¡¢suspend()¡¢resume()ºÍsleep()µÈ·½·¨£¬ËüÃÇ¿ÉÒÔ¶ÔÏ̵߳Ä״̬½øÐпØÖÆ¡£
¶¯»Ï̵߳ÄÉè¼ÆÓëʵÏÖ
ΪÁËÿÃëÖжà´Î¸üÐÂÆÁ ......
Ãô½Ý¿ª·¢µÄÀíÄîÒѾÁ÷ÐÐÁ˺ܳ¤µÄʱ¼ä£¬ÔÚÃô½Ý¿ª·¢ÖеĿª·¢µü´ú½×¶ÎÖУ¬ÎÒÃÇ¿ÉÒÔͨ¹ýÎå¸ö²½Ö裬À´ÓÐЧµÄÌá¸ßÕû¸öÏîÄ¿µÄ´úÂëÖÊÁ¿¡£
JavaÏîÄ¿¿ª·¢¹ý³ÌÖУ¬ÓÉÓÚ¿ª·¢ÈËÔ±µÄ¾Ñé¡¢Java´úÂë±àдϰ¹ß£¬ÒÔ¼°È±·¦Í³Ò»µÄ±ê×¼ºÍ¹ÜÀíÁ÷³Ì£¬ÍùÍùµ¼ÖÂÕû¸öÏîÄ¿µÄ´úÂëÖÊÁ¿½Ï²î£¬ÄÑÓÚά
»¤£¬ÐèÒª½Ï´óµÄ²âÊÔͶÈëºÍÖÜÆÚµÈÎÊÌâ¡£ÕâЩÎÊÌâÔÚÒ»¸öÏîÄ¿×é³õ½¨¡¢ÐèÇóºÍÉè¼Æ¾ù¾ßÓв»ÍêÈ«¿ÉÔ¤ÆÚÐÔºÍÍ걸ÐÔµÄÈ«ÐÂÏîÄ¿Öн«ÓÈΪͻ³ö¡£
Èçͼ1Ëùʾ£¬Ãô½Ý¿ª·¢¹ý³Ì¾ÀúÐèÇóµ÷ÑУ¬ÓÃÀý·ÖÎöºÍÓÃÀý·Ö½â£¬½øÈ뿪·¢µü´ú½×¶Î¡£ÔÚÿ¸öµü´ú¹ý³ÌÖУ¬¿ÉÒÔ²ÉÓÃÒÔϲ½ÖèÀ´±£Ö¤ºÍÌá¸ßÕû¸öÏîÄ¿µÄ´ú
ÂëÖÊÁ¿£ºÍ³Ò»±àÂë¹æ·¶¡¢´úÂëÑùʽ;¾²Ì¬´úÂë·ÖÎö(staticcodereview);µ¥Ôª²âÊÔ;³ÖÐø¼¯³É;´úÂëÆÀÉóºÍÖØ¹¹
(Review&Refactor)¡£ÏÂÎĽ«Õë¶Ôÿ¸ö²½ÖèºÍÆäËùʹÓõŤ¾ß¡¢·½·¨½øÐÐÏêϸÃèÊö¡£
ͼ1.Ãô½Ý¿ª·¢ÖеÄJava´úÂëÖÊÁ¿±£Ö¤²½Öè
²½ÖèÒ»£ºÍ³Ò»±àÂë¹æ·¶¡¢´úÂëÑùʽ
¹æ·¶Í³Ò»µÄ±àÂë»áÔö¼ÓÏîÄ¿´úÂëµÄ¿É¶ÁÐԺͿÉά»¤ÐÔ£¬µ«Êµ¼ÊÇé¿öÍùÍùÊÇÏîÄ¿×éÄÚµÄJava´úÂ뿪·¢ÈËÔ±µÄ±àÂë·ç¸ñ³£³£¸÷²»Ïàͬ£¬Õâ¿ÉÄÜÊÇÓÉÓÚ²»Í¬
µÄ¾Ñéϰ¹ß»òÕßȱ·¦±àÂë¹æ·¶·½ÃæµÄѧϰÔì³ÉµÄ¡£ÕâÑùÒ»À´£¬ÆäËûÏîÄ¿³ÉÔ±»òÕßά»¤ÈËÔ±ÔÚÔĶÁÏîÄ¿´úÂëʱ¾ÍÐèÒª» ......
ÔÎĵØÖ·£º http://www.javaworld.com/javaworld/jw-09-2007/jw-09-optimizingregex.html
Èç¹ûÄ㻨·ÑÁËÊýСʱºÍÕýÔò±í´ïʽ×ö¶·Õù£¬Ö»ÊÇΪÁËÈÃËüÍê³ÉËü¼¸ÃëÄھͿÉÒÔÍê³ÉµÄÆ¥Å䣬ÄÇôÕâÆªÎÄÕÂÕýÊÇΪÄãÁ¿Éí¶¨×öµÄ¡£Cristian
MocanuÖ¸³öÁËÔÚʲôµØ·½ÕýÔòģʽƥÅä»á·¢ÉúÑÓ³Ù£¬²¢ÇÒ½âÊÍÁËΪʲô¡£È»ºó£¬ËûÑÝʾÁËÈçºÎ×ö¸ü¶àµÄ»ØËõ£¨backtracking£©¶ø²»ÊÇÃÔʧÔÚÆä
ÖУ¬ÈçºÎÓÅ»¯Ì°À·Ä£Ê½ºÍÃãǿģʽ£¨ÒëÕß×¢--Õâ¸ö·ÒëÊÇÔÚÍøÉϲ鵽£¬×ܸоõ²»Ì«ºÏÊÊ£¬ÔÎÄÊÇreluctant
quantifier£©£¬ÒÔ¼°Possessive
quantifiers£¨ÒëÕß×¢--Õâ¸öÓеĵط½³ÆÎªÇÀÕ¼Á¿×Ó£©¡¢¶ÀÁ¢·Ö×飨independent
grouping£©ºÍ»·ÊÓ£¨look-around£©ÎªÊ²Ã´ÊÇÄãµÄÅóÓÑ¡£
±àдÕýÔò±í´ïʽ²»½ö½öÊÇÒ»ÖÖ¼¼ÇÉ£¬¸üÊÇÒ»ÖÖÒÕÊõ --Jeffrey Friedl
±¾ÎÄÖУ¬ÎÒ½«½éÉÜһЩÕýÔò±í´ïʽÖÐʹÓÃĬÈϵÄjava.util.regex°üµÄ³£¼ûȱµã¡£ÎÒ½«½âÊÍΪʲô»ØËõ£¨backtracking£©¼ÈÊÇʹÓÃÕýÔò
±í´ïʽ½øÐÐģʽƥÅäµÄ»ù´¡£¬ÓÖÊÇÓ¦ÓóÌÐò´úÂëÖеij£¼ûÆ¿¾±£»ÎªÊ²Ã´ÔÚʹÓÃ̰À·Ä£Ê½ºÍÃãǿģʽҪѧ»á½÷É ......