Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

ÈȵãÌÖÂÛ£ºJava±à³Ì·ç¸ñµÄ¸Ä±ä


×î½üStephan SchmidtÔÚ²©¿ÍÖз¢±íÁËÌâΪ¡¶ÏÂÒ»´úJava±à³Ì·ç¸ñ¡·µÄÎÄÕ£¬²ûÊöÁËËûÑÛÖÐJava±à³Ì·ç¸ñµÄ¸Ä±ä£¬ÒÔ¼°Î´À´µÄ×ßÏò£ºÐí¶à¹«Ë¾ºÍ¿ª·¢ÈËÔ±ÕýÔÚ´ÓJavaתÏòÆäËû±à³ÌÓïÑÔ£ºRuby¡¢Python¡¢Groovy¡¢Erlang»òScalaµÈµÈ¡£²»¹ýÄã¿ÉÄÜ×ö²»µ½ÕâÒ» µã¡£¼´±ãÈç´Ë£¬ÄãÒ²¿ÉÒԸıäÄãµÄ±à³Ì·ç¸ñ£¬»ñÈ¡ÕâЩÐÂÓïÑÔµÄÓÅÊÆ¡£ÊÂʵÉÏ£¬ÔÚ¹ýÈ¥µÄ15ÄêÖУ¬Java±à³Ì·ç¸ñÒ²ÒѾ­ÓÐÃ÷ÏԱ仯ÁË¡£
StephanÔÚÎÄÕÂÖÐÌá³öÁËÒÔϼ¸µã£º
¾¡¿ÉÄܵرê×¢final£ºÈÃËùÓж«Î÷²»¿É±ä£¬°Ñ±äÁ¿±êΪfinal¿ÉÒÔ×èÖ¹¸Ä±äËüµÄÖµ¡£ºÜ¶àʱºò£¬ÖØÐÂΪ±äÁ¿¸³Öµ»áÒýÈëbug£¬ÄãÓ¦¸ÃʹÓÃеıäÁ¿¡£³ý´ËÖ®Í⣬final¿ÉÒÔÌá¸ß´úÂëµÄ¿É¶ÁÐÔ¡£ÎÒÕë¶ÔÕâ¸ö»°Ì⻹д¹ýһƪÎÄÕ£º¡¶JavaÖÐËùÓбäÁ¿¶¼Ó¦¸ÃÊÇfinalµÄ¡·
ûÓÐsetter£ºÐí¶àJava³ÌÐòÔ±»á×ÔÈ»¶øÈ»µØΪÀàÖÐËùÓеÄ×ֶμÓÉÏsetter¡£Ë¼¿¼Ò»Ï£¬ÕæµÄÿ¸ö×ֶζ¼ÐèÒªÐÞ¸ÄÂ𣿸üºÃµÄ·½·¨ÊÇ´´½¨°üº¬¸Ä±äºó״̬µÄжÔÏó¡£´ËÍ⣬ҲÊÔ×ÅÈ¥³ýgetter£¬ÎÒÃÇÓ¦¸Ã×ñÑ­“Tell, don’t ask”µÄ˼Ïë¡£
±ÜÃâʹÓÃÑ­»·À´²Ù×÷List£º´Óº¯Êýʽ±à³ÌÄÇÀï»ñµÃµÄ¾­Ñ飬ѭ»·²¢²»ÊǽøÐм¯ºÏ²Ù×÷×îºÃ·½·¨¡£ÀýÈ磬ÎÒÃÇ¿ÉÒÔʹÓÃGoogle CollectionsÌṩµÄ¹ýÂ˹¦ÄÜ¡£
Predicate canDrinkBeer = new Predicate() {
public boolean apply(HasAge hasAge) {
return hasAge.isOlderThan( 16 );
}
};
List<Person> beerDrinkers = filter(persons, canDrinkBeer);
ʹÓõ¥ÐдúÂ룺JavaÊÇÒ»ÃÅ·±ÔÓ£¨noisy£©µÄÓïÑÔ£¬ÎÒÃÇÓ¦¸Ã±àд¸ü¾«È·µÄ´úÂë¡£³¢ÊÔ½«´úÂëдΪһÐС£ÀýÈ磺
public int add(int a, int b) { return a + b; }
ʹÓôóÁ¿½Ó¿Ú£ºÁìÓòÇý¶¯Éè¼ÆÒѾ­´óÐÐÆäµÀ£¬Ò»¸öÓ¦¸Ã²ð·ÖΪ¶àÖÖ“½ÇÉ«”£¬¼´ÊµÏÖ¶àÖÖ½Ó¿Ú£¬Ìá¸ß¸´Óó̶ȡ£·½·¨Ó¦¸ÃÃæÏò“½ÇÉ«”£¬¶ø²»ÊÇÃæÏòÌض¨µÄÀà¡£ÎÒÔÚ¡¶²»ÒªÔÚJavaÖÐʹÓÃString¡·Ò»ÎÄÖÐÌÖÂÛÁ˸ü¶àÕâ·½ÃæµÄÄÚÈÝ¡£
ʹÓÃErlang·ç¸ñµÄ²¢·¢£ºJavaµÄ²¢·¢ÌØÐÔ£¨ÈçlockºÍsynchronized£©¹ýÓڵͶˣ¬ÄÑÒÔʹÓá£Erlang·ç¸ñµÄ²¢·¢ÊÇÒ»ÖÖ¸üºÃµÄ×ö·¨¡£Javaƽ̨ÉÏÒѾ­ÓÐÁËAkkaºÍActorom¡£´ËÍ⣬Ҳ¿ÉÒÔʹÓÃjava.util.concurrentÖеÄJoin/ForkºÍÊý¾Ý½á¹¹½øÐбà³Ì¡£
ʹÓÃFluent Interface£ºFluent Interface¿ÉÒÔʹ´úÂë¸ü¶Ì£¬¸üÈÝÒ×±àд¡£Google CollectionsÖеÄMapMakerÊǸö²»´íµÄʾÀý£º
ConcurrentMap graphs = new MapMaker()
.concurrencyLevel(32)
.softKeys()
.weakValues()
.expiration(3


Ïà¹ØÎĵµ£º

sql 2005 ´æ´¢¹ý³Ì·ÖÒ³ java ´úÂë

 create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',         
@pagesize int output,--ÿҳÏÔʾ¼Ç¼ÌõÊý
@currentpage int output,--µÚ¼¸Ò³
@orderid nvarchar(50),--Ö÷¼üÅÅÐò
@sort int,--ÅÅÐò·½Ê½£¬1±íʾÉýÐò£¬0±íʾ½µÐòÅÅÁÐ ......

Java NIO APIÏê½â

 
Java NIO APIÏê½â
ÔÚJDK
1.4ÒÔÇ°£¬JavaµÄIO²Ù×÷¼¯ÖÐÔÚjava.ioÕâ¸ö°üÖУ¬ÊÇ»ùÓÚÁ÷µÄ×èÈû£¨blocking£©API¡£¶ÔÓÚ´ó¶àÊýÓ¦ÓÃÀ´Ëµ£¬ÕâÑùµÄAPIʹÓúܷ½
±ã£¬È»¶ø£¬Ò»Ð©¶ÔÐÔÄÜÒªÇó½Ï¸ßµÄÓ¦Óã¬ÓÈÆäÊÇ·þÎñ¶ËÓ¦Óã¬ÍùÍùÐèÒªÒ»¸ö¸üΪÓÐЧµÄ·½Ê½À´´¦ÀíIO¡£´ÓJDK 1.4Æð£¬NIO
API×÷Ϊһ¸ö»ùÓÚ»º³åÇø£¬²¢ÄÜÌṩ·Ç×èÈû(non-blo ......

javaÏß³Ì

Ò»ÖÖÊǼ̳Ð×ÔThreadÀà.Thread ÀàÊÇÒ»¸ö¾ßÌåµÄÀ࣬¼´²»ÊdzéÏóÀ࣬¸ÃÀà·â×°ÁËÏ̵߳ÄÐÐΪ¡£Òª´´½¨Ò»¸öỊ̈߳¬³ÌÐòÔ±±ØÐë´´½¨Ò»¸ö´Ó Thread Àർ³öµÄÐÂÀà¡£³ÌÐòԱͨ¹ý¸²¸Ç Thread µÄ run() º¯ÊýÀ´Íê³ÉÓÐÓõŤ×÷¡£Óû§²¢²»Ö±½Óµ÷Óô˺¯Êý£»¶øÊÇͨ¹ýµ÷Óà Thread µÄ start() º¯Êý£¬¸Ãº¯ÊýÔÙµ÷Óà run()¡£
   
&nb ......

Thinking in Javaѧϰ±Ê¼Ç£¨Ò»£©

ÔÚjava³ÌÐòÖУ¬ÍòÊÂÍòÎï½Ô¶ÔÏ󣬼´Ê¹ÊÇjava³ÌÐò±¾Éí£¬Ò²ÊÇÒ»¸ö¶ÔÏó
Ò»¡¢ReferenceÊDzÙ×ݶÔÏóÖ®Ô¿³×
             cÓïÑÔÖÐÊÇʹÓÃÖ¸ÕëÀ´²Ù×ݶÔÏóµÄ£¬µ«ÊÇjavaÄØ£¿ÓõÄÊÇreferenceÀ´²Ù×ݶÔÏó£¬ÎÒÏ°¹ß°ÑËû½Ð×ö¾ä±ú£¬¾ä±úºÍ¶ÔÏóµÄ¹Øϵ¾ÍÏëÊǵçÊÓÒ£¿ØÆ÷ºÍµçÊÓ»ú ......

JavaºËÐÄAPIÐèÒªÕÆÎյij̶È


JavaµÄºËÐÄAPIÊǷdz£ÅÓ´óµÄ,Õâ¸ø¿ª·¢ÕßÀ´Ëµ´øÀ´Á˺ܴóµÄ·½±ã£¬¾­³£ÈËÓÐÆÀÂÛ,javaÈóÌÐòÔ±±äɵ¡£
µ«ÊÇһЩÄÚÈÝÎÒÈÏΪÊDZØÐëÕÆÎյģ¬·ñÔò²»¿ÉÒÔÊìÁ·ÔËÓÃjava£¬Ò²²»»áʹÓþͺÜÄÑ°ìÁË¡£
1¡¢java.lang°üϵÄ80£¥ÒÔÉϵÄÀàµÄ¹¦ÄܵÄÁé»îÔËÓá£
2¡¢java.util°üϵÄ80£¥ÒÔÉϵÄÀàµÄÁé»îÔËÓã¬ÌرðÊǼ¯ºÏÀàÌåϵ¡¢Õý¹æ±í´ïʽ¡¢Ê±¼ä¡ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ