Java ÀíÂÛÓëʵ¼ù: ÓÃÈõÒýÓöÂסÄÚ´æй© 1
ËäÈ»Óà Java™ ÓïÑÔ±àдµÄ³ÌÐòÔÚÀíÂÛÉÏÊDz»»á³öÏÖ“ÄÚ´æй©”µÄ£¬µ«ÊÇÓÐʱ¶ÔÏóÔÚ²»ÔÙ×÷Ϊ³ÌÐòµÄÂ߼״̬µÄÒ»²¿·ÖÖ®ºóÈÔÈ»²»±»À¬»øÊÕ¼¯¡£±¾Ô£¬¸ºÔð±£ÕÏÓ¦ÓóÌÐò½¡¿µµÄ¹¤³Ìʦ Brian Goetz ̽ÌÖÁËÎÞÒâʶµÄ¶ÔÏó±£ÁôµÄ³£¼ûÔÒò£¬²¢Õ¹Ê¾ÁËÈçºÎÓÃÈõÒýÓöÂסй©¡£
ÒªÈÃÀ¬»øÊÕ¼¯£¨GC£©»ØÊÕ³ÌÐò²»ÔÙʹÓõĶÔÏ󣬶ÔÏóµÄÂß¼ ÉúÃüÖÜÆÚ£¨Ó¦ÓóÌÐòʹÓÃËüµÄʱ¼ä£©ºÍ¶Ô¸Ã¶ÔÏóÓµÓеÄÒýÓõÄʵ¼Ê ÉúÃüÖÜÆÚ±ØÐëÊÇÏàͬµÄ¡£ÔÚ´ó¶àÊýʱºò£¬ºÃµÄÈí¼þ¹¤³Ì¼¼Êõ±£Ö¤ÕâÊÇ×Ô¶¯ÊµÏֵģ¬²»ÓÃÎÒÃǶԶÔÏóÉúÃüÖÜÆÚÎÊÌ⻨·Ñ¹ý¶àÐÄ˼¡£µ«ÊÇż¶ûÎÒÃǻᴴ½¨Ò»¸öÒýÓã¬ËüÔÚÄÚ´æÖаüº¬¶ÔÏóµÄʱ¼ä±ÈÎÒÃÇÔ¤ÆÚµÄÒª³¤µÃ¶à£¬ÕâÖÖÇé¿ö³ÆΪÎÞÒâʶµÄ¶ÔÏó±£Áô£¨unintentional object retention£©¡£
È«¾Ö Map Ôì³ÉµÄÄÚ´æй©
ÎÞÒâʶ¶ÔÏó±£Áô×î³£¼ûµÄÔÒòÊÇʹÓà Map ½«ÔªÊý¾ÝÓëÁÙʱ¶ÔÏó£¨transient object£©Ïà¹ØÁª¡£¼Ù¶¨Ò»¸ö¶ÔÏó¾ßÓÐÖеÈÉúÃüÖÜÆÚ£¬±È·ÖÅäËüµÄÄǸö·½·¨µ÷ÓõÄÉúÃüÖÜÆÚ³¤£¬µ«ÊDZÈÓ¦ÓóÌÐòµÄÉúÃüÖÜÆڶ̣¬Èç¿Í»§»úµÄÌ×½Ó×ÖÁ¬½Ó¡£ÐèÒª½«Ò»Ð©ÔªÊý¾ÝÓëÕâ¸öÌ×½Ó×Ö¹ØÁª£¬ÈçÉú³ÉÁ¬½ÓµÄÓû§µÄ±êʶ¡£ÔÚ´´½¨ Socket ʱÊDz»ÖªµÀÕâЩÐÅÏ¢µÄ£¬²¢ÇÒ²»Äܽ«Êý¾ÝÌí¼Óµ½ Socket ¶ÔÏóÉÏ£¬ÒòΪ²»ÄÜ¿ØÖÆ Socket Àà»òÕßËüµÄ×ÓÀà¡£Õâʱ£¬µäÐ͵ķ½·¨¾ÍÊÇÔÚÒ»¸öÈ«¾Ö Map Öд洢ÕâЩÐÅÏ¢£¬ÈçÇåµ¥ 1 ÖÐµÄ SocketManager ÀàËùʾ£º
Çåµ¥ 1. ʹÓÃÒ»¸öÈ«¾Ö Map ½«ÔªÊý¾Ý¹ØÁªµ½Ò»¸ö¶ÔÏó
public class SocketManager {
private Map<Socket,User> m = new HashMap<Socket,User>();
public void setUser(Socket s, User u) {
m.put(s, u);
}
public User getUser(Socket s) {
return m.get(s);
}
public void removeUser(Socket s) {
m.remove(s);
}
}
SocketManager socketManager;
...
socketManager.setUser(socket, user);
ÕâÖÖ·½·¨µÄÎÊÌâÊÇÔªÊý¾ÝµÄÉúÃüÖÜÆÚÐèÒªÓëÌ×½Ó×ÖµÄÉúÃüÖÜÆÚ¹Ò¹³£¬µ«Êdzý·Ç׼ȷµØÖªµÀʲôʱºò³ÌÐò²»ÔÙÐèÒªÕâ¸öÌ×½Ó×Ö£¬²¢¼Çס´Ó Map ÖÐɾ³ýÏàÓ¦µÄÓ³É䣬·ñÔò£¬Socket ºÍ User ¶ÔÏ󽫻áÓÀÔ¶ÁôÔÚ Map ÖУ¬Ô¶Ô¶³¬¹ýÏìÓ¦ÁËÇëÇóºÍ¹Ø±ÕÌ×½Ó×ÖµÄʱ¼ä¡£Õâ»á×èÖ¹ Socket ºÍ User ¶ÔÏó±»À¬»øÊÕ¼¯£¬¼´Ê¹Ó¦ÓóÌÐò²»»áÔÙʹÓÃËüÃÇ¡£ÕâЩ¶ÔÏóÁôÏÂÀ´²»ÊÜ¿ØÖÆ£¬ºÜÈÝÒ×Ôì³É³ÌÐòÔÚ³¤Ê±¼äÔËÐкóÄڴ汬Âú¡£³ýÁË×î¼òµ¥µÄÇé¿ö£¬ÔÚ¼¸ºõËùÓÐÇé¿öÏÂÕÒ³öʲôʱºò Socket ²»ÔÙ±»³ÌÐòʹÓÃÊÇÒ»¼þºÜ·³È˺ÍÈÝÒ׳ö´íµÄÈÎÎ
Ïà¹ØÎĵµ£º
1.½«Int,Float,Double,Longת»»ÎªString
String s = ""+i;
String s = String.valueOf(i);
String s = Integer.toString(i);
µÚÒ»ÖÖ·½·¨£ºs = ""+i; //»á²úÉúÁ½¸öString¶ÔÏó
µÚ¶þÖÖ·½·¨£ºs=String.valueOf(i); //Ö±½ÓʹÓÃStringÀàµÄ¾²Ì¬·½·¨£¬Ö»²úÉúÒ»¸ö¶ÔÏó
µÚÈýÖÖ·½·¨£ºÐ§ÂÊ×î¸ß£¿
2.½«Stringת»»ÎªIn ......
abstract classºÍinterfaceÊÇJavaÓïÑÔÖжÔÓÚ³éÏóÀඨÒå½øÐÐÖ§³ÖµÄÁ½ÖÖ»úÖÆ£¬ÕýÊÇÓÉÓÚÕâÁ½ÖÖ»úÖƵĴæÔÚ£¬²Å¸³ÓèÁËJavaÇ¿´óµÄÃæÏò¶ÔÏóÄÜÁ¦¡£ abstract classºÍinterfaceÖ®¼äÔÚ¶ÔÓÚ³éÏóÀඨÒåµÄÖ§³Ö·½Ãæ¾ßÓкܴóµÄÏàËÆÐÔ£¬ÉõÖÁ¿ÉÒÔÏ໥Ìæ»»£¬Òò´ËºÜ¶à¿ª·¢ÕßÔÚ½øÐгéÏóÀඨÒåʱ¶ÔÓÚ abstract cl ......
×î½üÒòΪÏîÄ¿ÐèÒª£¬Ñо¿ÁËjava html parserÀà¿âµÄÓ¦Ó᣼ǼÏÂʹÓÃÒªµã£º
Ö÷ÒªµÄÀà˵Ã÷£º
1¡¢ParserÀà
½âÎöÆ÷Ö÷À࣬¸ºÔðÔØÈëHTML´úÂë²¢½âÎö¡£
2¡¢Node½Ó¿Ú
ÓÃÀ´±íÕ÷ÔÚ½âÎö¹ý³ÌÖÐʹÓõÄÓï·¨µ¥Ôª¡£Ê¾ÀýÈç϶Îhtml´úÂ룺
<span> ----Tag node
text ----Text Node
</span>
Îı¾ºÍ±êÇ©¶¼ÊǶÀÁ¢µÄnodeÔªËØ¡ ......
reflection: Ö¸ÎÒÃÇ¿ÉÒÔÓÚjava³ÌÐòÖ´ÐÐÆÚÔØÈ롢֪̽¡¢Ê¹ÓñàÒëÆÚ¼äÍêȫδ֪µÄclasses.»»¾ä»°Ëµ£¬java³ÌÐò¿ÉÒÔÔØÈëÒ»¸öÖ´ÐÐÆڲŵÃÖªÃû³ÆµÄclass,»ñϤÆäÍêÕû¹¹Ô죨µ«²»°üÀ¨methods¶¨Ò壩£¬²¢Éú³ÉʵÌå¡¢»ò¶ÔÆäfieldsÉèÖµ¡¢»ò»½ÆðÆämethods¡£ ......
ÔÎĵØÖ·£ºhttp://www.javaeye.com/topic/392836
¹ØÓÚFlex
Adobe FlexÊÇÒ»Ì×´´½¨¸»¿Í»§¶ËÓ¦ÓÃ(RIAs)µÄ¿ò¼Ü.FlexÉú³ÉµÄswfÎļþ¿ÉÒÔÖ±½ÓÔËÐÐÔÚFlash PlayerÖ®ÖС£Ïà±È½Ï»ùÓÚʱ¼äÖáµÄFlash¿ª·¢£¬Flex¿ò¼Ü¸üÊʺÏÄÇЩÓô«Í³·½Ê½¿ª·¢Ó¦ÓóÌÐòµÄ¿ª·¢ÈËÔ±¡£FlexÓ¦ÓÿÉÒÔʹÓÃFlex builderÀ´¿ª·¢¡£ÕâÌ×IDEÊÇ»ùÓÚEclipseƽ̨¿ª·¢µÄ¡£ ......