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.
Ôö¼ÓJavaÓ¦ÓÃ
ÔÚandroid_2.1/packages/appsÔö¼Ó¸ÃÏîÄ¿£»
ÔÚbuild/target/product/generic.mkµÄPRODUCT_PACKAGESºóÃæÔö¼Ó¶ÔÓ¦°üµÄÃû×Ö¡£
1.1
´ÓÃüÁîÐ ......
JavaÁ¬½ÓmysqlÊý¾Ý¿â£¬´úÂë¾¹ýÔËÐÐ׼ȷÎÞÎó¡£
ÏÂÃæΪʵÀý---->
ÓÃÊý¾Ý¿â²Ù×ݹ¤¾ß£¨Àý£ºSQLyogEnt£©²Ù×Ýmysql½¨±í£¬»òdosϽ¨£¬ÈçÏ£º
Êý¾Ý¿âÃû£ºscutcs
±íÃû£ºstudent
±íÄÚÈÝ£º
sno char[7] NO NULL Primary Key;
sname varchar[8] NO NULL;
sex char[2] NO NULL; ......
win7ϵͳÏÂJava»·¾³±äÁ¿µÄÅäÖà Jdk°æ±¾Îª1.6
´ò¿ª¿ØÖÆÃæ°å->Óû§ÕÊ»§->¸ü¸ÄÎҵĻ·¾³±äÁ¿
±äÁ¿Ãû£ºJAVA_HOME
±äÁ¿Öµ£ºD:\Program Files\Java\jdk1.6.0_12(ÕâÖ»ÊÇÎÒµÄJDK°²×°Â·¾¶)
±äÁ¿Ãû£ºPath
ÔÚ±äÁ¿ÖµµÄ×îÇ°Ãæ¼ÓÉÏ£º%JAVA_HOME%\bin;£¨ÈôÒѾÓÐPathÏÎÞÐëÁíÍâР......
ÔÚJava
ÓïÑÔÖУ¬ abstract class ºÍinterface
ÊÇÖ§³Ö³éÏóÀà
¶¨
ÒåµÄÁ½ÖÖ»úÖÆ¡£ÕýÊÇÓÉÓÚÕâÁ½ÖÖ»úÖƵĴæÔÚ£¬²Å¸³ÓèÁËJavaÇ¿´óµÄ ÃæÏò¶ÔÏóÄÜÁ¦¡£abstract
classºÍinterfaceÖ®¼äÔÚ¶ÔÓÚ³éÏóÀඨÒåµÄÖ§³Ö·½Ãæ¾ßÓкܴóµÄÏàËÆÐÔ£¬ÉõÖÁ¿ÉÒÔÏ໥Ìæ»»£¬Òò´ËºÜ¶à¿ª·¢ÕßÔÚ½ø
ÐгéÏóÀඨÒåʱ¶ÔÓÚabstract
classºÍinterfaceµÄÑ¡Ô ......