JavaÖеÄvolatile¹Ø¼ü×Ö
ÎÒÃÇÖªµÀ£¬ÔÚJavaÖÐÉèÖñäÁ¿ÖµµÄ²Ù×÷£¬³ýÁËlongºÍ doubleÀàÐ͵ıäÁ¿Íâ¶¼ÊÇÔ×Ó²Ù×÷£¬Ò²¾ÍÊÇ˵£¬¶ÔÓÚ±äÁ¿ÖµµÄ¼òµ¥¶Áд²Ù×÷ûÓбØÒª½øÐÐͬ²½¡£ÕâÔÚJVM 1.2֮ǰ£¬JavaµÄÄÚ´æÄ£ÐÍʵÏÖ×ÜÊÇ´ÓÖ÷´æ¶ÁÈ¡±äÁ¿£¬ÊDz»ÐèÒª½øÐÐÌØ±ðµÄ×¢ÒâµÄ¡£¶øËæ×ÅJVMµÄ³ÉÊìºÍÓÅ»¯£¬ÏÖÔÚÔÚ¶àÏ̻߳·¾³ÏÂvolatile¹Ø¼ü×ÖµÄʹÓñäµÃ·Ç³£ÖØÒª¡£ÔÚµ±Ç°µÄJavaÄÚ´æÄ£ÐÍÏ£¬Ï߳̿ÉÒ԰ѱäÁ¿±£´æÔÚ±¾µØÄڴ棨±ÈÈç»úÆ÷µÄ¼Ä´æÆ÷£©ÖУ¬¶ø²»ÊÇÖ±½ÓÔÚÖ÷´æÖнøÐжÁд¡£Õâ¾Í¿ÉÄÜÔì³ÉÒ»¸öÏß³ÌÔÚÖ÷´æÖÐÐÞ¸ÄÁËÒ»¸ö±äÁ¿µÄÖµ£¬¶øÁíÍâÒ»¸öÏ̻߳¹¼ÌÐøÊ¹ÓÃËüÔڼĴæÆ÷ÖеıäÁ¿ÖµµÄ¿½±´£¬Ôì³ÉÊý¾ÝµÄ²»Ò»Ö¡£Òª½â¾öÕâ¸öÎÊÌ⣬ֻÐèÒªÏñÔÚ±¾³ÌÐòÖеÄÕâÑù£¬°Ñ¸Ã±äÁ¿ÉùÃ÷Ϊvolatile£¨²»Îȶ¨µÄ£©¼´¿É£¬Õâ¾ÍָʾJVM£¬Õâ¸ö±äÁ¿ÊDz»Îȶ¨µÄ£¬Ã¿´ÎʹÓÃËü¶¼µ½Ö÷´æÖнøÐжÁÈ¡¡£Ò»°ã˵À´£¬¶àÈÎÎñ»·¾³Ï¸÷ÈÎÎñ¼ä¹²ÏíµÄ±êÖ¾¶¼Ó¦¸Ã¼ÓvolatileÐÞÊΡ£
VolatileÐÞÊεijÉÔ±±äÁ¿ÔÚÿ´Î±»Ï̷߳ÃÎÊʱ£¬¶¼Ç¿ÆÈ´Ó¹²ÏíÄÚ´æÖÐÖØ¶Á¸Ã³ÉÔ±±äÁ¿µÄÖµ¡£¶øÇÒ£¬µ±³ÉÔ±±äÁ¿·¢Éú±ä»¯Ê±£¬Ç¿ÆÈÏ߳̽«±ä»¯Öµ»ØÐ´µ½¹²ÏíÄÚ´æ¡£ÕâÑùÔÚÈκÎʱ¿Ì£¬Á½¸ö²»Í¬µÄÏß³Ì×ÜÊÇ¿´µ½Ä³¸ö³ÉÔ±±äÁ¿µÄͬһ¸öÖµ¡£
JavaÓïÑԹ淶ÖÐÖ¸³ö£ºÎªÁË»ñµÃ×î¼ÑËÙ¶È£¬ÔÊÐíÏ̱߳£´æ¹²Ïí³ÉÔ±±äÁ¿µÄ˽Óп½±´£¬¶øÇÒÖ»µ±Ï߳̽øÈë»òÕßÀ뿪ͬ²½´úÂë¿éʱ²ÅÓë¹²Ïí³ÉÔ±±äÁ¿µÄÔʼֵ¶Ô±È¡£
ÕâÑùµ±¶à¸öÏß³ÌͬʱÓëij¸ö¶ÔÏó½»»¥Ê±£¬¾Í±ØÐëҪעÒâµ½ÒªÈÃÏ̼߳°Ê±µÄµÃµ½¹²Ïí³ÉÔ±±äÁ¿µÄ±ä»¯¡£
¶øvolatile¹Ø¼ü×Ö¾ÍÊÇÌáʾVM£º¶ÔÓÚÕâ¸ö³ÉÔ±±äÁ¿²»Äܱ£´æËüµÄ˽Óп½±´£¬¶øÓ¦Ö±½ÓÓë¹²Ïí³ÉÔ±±äÁ¿½»»¥¡£
ʹÓý¨Ò飺ÔÚÁ½¸ö»òÕ߸ü¶àµÄÏ̷߳ÃÎʵijÉÔ±±äÁ¿ÉÏʹÓÃvolatile¡£µ±Òª·ÃÎʵıäÁ¿ÒÑÔÚsynchronized´úÂë¿éÖУ¬»òÕßΪ³£Á¿Ê±£¬²»±ØÊ¹Óá£
ÓÉÓÚʹÓÃvolatileÆÁ±ÎµôÁËVMÖбØÒªµÄ´úÂëÓÅ»¯£¬ËùÒÔÔÚЧÂÊÉϱȽϵͣ¬Òò´ËÒ»¶¨ÔÚ±ØÒªÊ±²ÅʹÓô˹ؼü×Ö¡£
Ïà¹ØÎĵµ£º
InetAddressÀà´ú±íIPµØÖ·£¬ÓÐÁ½¸ö×ÓÀ࣬Inet4Address£¬Inet6Address´ú±íIPV4ºÍIPv6£¬Ã»Óй¹Ôì·½·¨£¬µ«ÊÇÌṩ¸öÁËÁ½¸ö¾²Ì¬·½·¨À´»ñÈ¡InetAddressʵÀý£ºgetByName(String host):¸ù¾ÝÖð¾ä»ñÈ¡¶ÔÓ¦µÄInetAddress¶ÔÏó£»getByAddress(byte[]addr):¸ù¾ÝÔʼIPµØÖ·À´»ñÈ¡¶ÔÓ¦µÄInetAddress¶ÔÏ ......
ת×Ôhttp://hi.baidu.com/oyamao/blog/item/bcc75d5128468868843524eb.html
Òì³£´¦ÀíÊdzÌÐòÉè¼ÆÖÐÒ»¸ö·Ç³£ÖØÒªµÄ·½Ã棬ҲÊdzÌÐòÉè¼ÆµÄÒ»´óÄѵ㣬´ÓC¿ªÊ¼£¬ÄãÒ²ÐíÒѾ֪µÀÈçºÎÓÃif...else...À´¿ØÖÆÒì³£ÁË£¬Ò²ÐíÊÇ×Ô·¢µÄ£¬È»¶øÕâÖÖ¿ØÖÆÒ쳣ʹ¿à£¬Í¬Ò»¸öÒì³£»òÕß´íÎóÈç¹û¶à¸öµØ·½³öÏÖ£¬ÄÇôÄãÿ¸öµØ·½¶¼Òª×öÏàͬ´¦Àí£¬¸Ð¾õÏൠ......
ÔÚJSPÀ»ñÈ¡¿Í»§¶ËµÄIPµØÖ·µÄ·½·¨ÊÇ£ºrequest.getRemoteAddr()£¬ÕâÖÖ·½·¨Ôڴ󲿷ÖÇé¿ö϶¼ÊÇÓÐЧµÄ¡£µ«ÊÇÔÚͨ¹ýÁËApache,SquidµÈ·´Ïò´úÀíÈí¼þ¾Í²»ÄÜ»ñÈ¡µ½¿Í»§¶ËµÄÕæÊµIPµØÖ·ÁË¡£
Èç¹ûʹÓÃÁË·´Ïò´úÀíÈí¼þ£¬½«http://192.168.1.110:2046/ µÄURL·´Ïò´úÀíΪhttp://www.xxx.com/ µÄURLʱ£¬ÓÃrequest.getRemoteAddr()·½ ......
¾³£¿´µ½Ðí¶àÈËÎÊÈçºÎÅäÖÃJDKºÍJSP£¬ÏÖÔÚÎÒ°Ñ·½·¨×ܽáÏ£¬Ï£Íû¶Ô´ó¼ÒÓÐËù°ïÖú¡£
µÚÒ»²½£ºÏÂÔØjdkºÍtomcat
µÚ¶þ²½£º°²×°ºÍÅäÖÃÄãµÄjdkºÍtomcat£ºÖ´ÐÐjdkºÍtomcatµÄ°²×°³ÌÐò£¬È»ºóÉèÖð´ÕÕ·¾¶½øÐа²×°¼´¿É¡£
1.°²×°j2sdkÒÔºó£¬ÐèÒªÅäÖÃһϻ·¾³±äÁ¿£¬ÔÚÎҵĵçÄÔ->ÊôÐÔ->¸ß¼¶->»·¾³±äÁ¿->ϵͳ±äÁ¿ÖÐÌí¼Ó ......
Õ⼸ÌìÒ»Ö±ÔÚ¸ã¹ØÓÚÓÅÏȼ¶¶ÓÁеÄʵÏÖ,ÒòΪҪ¿¼Âǵ½Ï̵߳ݲȫ,ËùÒÔPriorityQueue¾Í²»ÊÊÓÃÁË¡£Ò»¸ö·Ç³£¼òµ¥µÄʵÏÖ·½
·¨£¬ÄǾÍÊǰÑÓÅÏȼ¶±È½ÏºÃµÄ²åÈëÒ»¸ö¶ÓÁУ¬ÓÅÏȼ¶µÍµÄ²åÈëÁíÒ»¸ö¶ÓÁУ¬È¡ÊýµÄʱºòÏÈÔÚÓÅÏȼ¶¸ßµÄ¶ÓÁÐÉÏÈ¡Êý¡£ÕâÓиöȱµã¾ÍÊÇÈç¹ûÓÅÏȼ¶±ðÔ½¶àµÄ»°£¬¶ÓÁ ......