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

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 ²»ÔÙ±»³ÌÐòʹÓÃÊÇÒ»¼þºÜ·³È˺ÍÈÝÒ׳ö´íµÄÈÎÎ


Ïà¹ØÎĵµ£º

javaÖжѣ¨heap)ºÍ¶ÑÕ»£¨stack)ÓÐÊ²Ã´Çø±ð

//ת×Ôhttp://pterodactyl.javaeye.com/blog/345892
stack ºÍ heep ¶¼ÊÇÄÚ´æµÄÒ»²¿·Ö
stack ¿Õ¼äС£¬ËٶȱȽϿ죬 ÓÃÀ´·Å¶ÔÏóµÄÒýÓÃ
heep ´ó£¬Ò»°ãËùÓд´½¨µÄ¶ÔÏó¶¼·ÅÔÚÕâÀï¡£
Õ»(stack):ÊÇÒ»¸öÏȽøºó³öµÄÊý¾Ý½á¹¹,ͨ³£ÓÃÓÚ±£´æ·½·¨(º¯Êý)ÖеIJÎÊý,¾Ö²¿±äÁ¿.
ÔÚjavaÖÐ,ËùÓлù±¾ÀàÐͺÍÒýÓÃÀàÐͶ¼ÔÚÕ»Öд洢.Õ»ÖÐÊý¾ÝµÄÉ ......

Java Éú³ÉÑéÖ¤Âë


javaÉú³ÉÑéÖ¤Âë
ÓкܶàÖÖ·½Ê½£¬ÔÚÍøÉÏÒ²Óкܶà´úÂ룬µ«ÊÇÄÇЩÉú³ÉµÄЧ¹û£¬¸Ð¾õ¶¼²»ÊÇÌØ±ðºÃ£¬ËùÒÔÎÒÔÚËûÃǵĻù´¡ÉϸÄÁ¼ÁËһЩ¡£
µ«ÄÜ»¹¿ÉÒÔÓÃjmagick ,Éú³ÉºÜ¶àºÜìŵÄÑéÖ¤Âë¡£¹ýÁ½ÌìÑо¿Ï¡£ÏȰÑ×î½ü¸ÄµÄÕâ¸ö·¢²¼Ï¹©ÅóÓÑÃDzΡ£
¿ÉÒÔÏÈ¿´¿´ÑùÀý¡£×î½üÔÚ×öÕâ¸öÍøÕ¾¡£´ó¼ÒÓÐÐËȤ¿ÉÒԽн»Á÷¡£Ô¼»á360 ÍøÖ·:  www.yue ......

javaÈÕÆÚ´¦ÀíSystem£¨1£©

È¡µÃµ±Ç°ÏµÍ³Ê±¼ä   System.currentTimeMillis()
·µ»ØºÁÃëʱ¼ä£¬ÎªlongÐÍÕûÊý£¬
¸Ãº¯ÊýÔÚ½øÐÐϵͳÐÔÄÜ¼à¿ØÊ±×î³£Óõ½
Àý£º
  long start = System.currentTimeMillis();
  //Òª¼à¿ØµÄ´úÂë¶Î
  long end = System.currentTimeMillis();
  System.out.println(end-start);
ÓÐʱҪ¼à¿Øµ ......

JavaÖØÐ´ÓëÖØÔØ

ÖØÐ´µÄÖ÷ÒªÓŵãÊÇÄܹ»¶¨Òåij¸ö×ÓÀàÌØÓеÄÌØÕ÷:
       Èç:
    public class Father
    {
             public void speak()
         &nb ......

java·´Éä

reflection: Ö¸ÎÒÃÇ¿ÉÒÔÓÚjava³ÌÐòÖ´ÐÐÆÚÔØÈ롢֪̽¡¢Ê¹ÓñàÒëÆÚ¼äÍêȫδ֪µÄclasses.»»¾ä»°Ëµ£¬java³ÌÐò¿ÉÒÔÔØÈëÒ»¸öÖ´ÐÐÆÚ²ÅµÃÖªÃû³ÆµÄclass,»ñϤÆäÍêÕû¹¹Ô죨µ«²»°üÀ¨methods¶¨Ò壩£¬²¢Éú³ÉʵÌå¡¢»ò¶ÔÆäfieldsÉèÖµ¡¢»ò»½ÆðÆämethods¡£ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ