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

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ÖбØÒªµÄ´úÂëÓÅ»¯£¬ËùÒÔÔÚЧÂÊÉϱȽϵͣ¬Òò´ËÒ»¶¨ÔÚ±ØÒªÊ±²ÅʹÓô˹ؼü×Ö¡£


Ïà¹ØÎĵµ£º

ÌåÑéJavaµÄÕýÔò±í´ïʽ

½Ó´¥javaÕýÔò±í´ïʽÓÐÒ»ÄêµÄʱ¼äÁË£¬ºÃ¾ÃûÓи´Ï°ÁË£¬ÏÖÔÚд¸öÀ´¸´Ï°Ò»Ï£º
package com.fengfei.test;
public class GetNumber {
 /**
  * ÌåÑéJavaµÄÕýÔò±í´ïʽ£¬ÕÒ³ö×Ö·û´®sÖеÄÊý×Ö
  * @param args
  */
 public static void main(String[] args) {
     & ......

Java IO¿ò¼Ü

¿É´ÓIOµÄÀà²ã´Î£¬IO¿ò¼ÜµÄÉè¼ÆÄ£Ê½À´ÂÛÊö¡£
×ÜÌåÀ´Ëµ£¬IO¿ÉÒÔ·ÖΪ×Ö½ÚÁ÷ºÍ×Ö·ûÁ÷£¬²»Í¬ÔÚÓÚ×Ö·ûÁ÷ÓÉ×Ö½ÚÁ÷°ü×°¶øÀ´£¬ÔÚIO¶ÁÈëÖ®ºó¾­¹ýJVM´¦Àí£¬°Ñ×Ö½ÚÁ÷ת»»³É×Ö·ûÁ÷¡£¶ø×Ö·ûÁ÷µÄ×Ö·û²ÉÓÃÄÄÖÖ×Ö·û±àÂëʵÏÖÓÉJVMĬÈϱàÂë¾ö¶¨¡£
¶øÃ¿¸öÁ÷¶¼·ÖÊäÈëºÍÊä³ö£¬ËùÒÔ£¬×ÜÌåÀ´Ëµ£¬IOÓÐËĸö¶¥²ãÀࣺ
InputStream
OutputStream ......

JNAʵÏÖJavaµ÷ÓÃFortran

Ôڳɹ¦ÊµÏÖJavaµ÷ÓÃC++Ö®ºó£¬½ÓÏÂÀ´Ïëµ½ÄÜ·ñͨ¹ýJNAʵÏÖJavaµ÷ÓÃFortran£¬½ñÌìÊÔÑéÁËһϣ¬»¹ÊDZȽÏÈÝÒ׵ġ£
ÍøÉÏÓÐÒ»¸öJavaµ÷ÓÃF95µÄÀý×Ó£¬µ«ÊÇÎÒ¿¼ÂDz»½öҪʵÏÖF95µÄµ÷Ó㬻¹ÒªÊµÏÖF77µÄµ÷Óã¬ËùÒÔ·ÑÁËһЩÖÜÕÛ¡£
ÎÊÌâµÄ¹Ø¼üÔÚÓÚF77Ϊ¹ý³ÌÃû×Ô¶¯Ìí¼ÓÁËÒ»¸öβ²¿µÄÏ»®Ïߣ¬ËùÒÔsub1Õâ¸ö¹ý³Ì£¬µ½JavaÒ»¶Ë£¬¾Í±ä³ÉÁËsub1_£¬ ......

Java£ºWebService:XFire ÓëAxis2±È½Ï

 
XFire VS Axis
XFireÊÇÓëAxis2 ²¢ÁеÄÐÂÒ»´úWebServiceƽ̨¡£Ö®ËùÒÔ²¢³ÆÎªÐÂÒ»´ú£¬ÒòΪËü£º
1¡¢Ö§³ÖһϵÁÐWeb ServiceµÄбê×¼--JSR181¡¢WSDL2.0 ¡¢JAXB2¡¢WS-SecurityµÈ£»
2¡¢Ê¹ÓÃStax½âÊÍXML,ÐÔÄÜÓÐÁËÖʵÄÌá¸ß¡£XFire²ÉÓÃWoodstox ×÷StaxʵÏÖ£»
3¡¢ÈÝÒ×ÉÏÊÖ£¬¿ÉÒÔ·½±ã¿ìËٵشÓpojo·¢²¼·þÎñ£» 
4¡¢Sprin ......

ת£ºÌ½Ë÷ Java ͬ²½»úÖÆ

̽Ë÷ Java ͬ²½»úÖÆ http://www.ibm.com/developerworks/cn/java/j-lo-synchronized/ Monitor Object ²¢·¢Ä£Ê½ÔÚ Java ͬ²½»úÖÆÖеÄʵÏÖ    ¼¶±ð£º Öм¶ Àî Èýºì (lisanh@cn.ibm.com), ¸ß¼¶Èí¼þ¹¤³Ìʦ, IBM 2008 Äê 12 Ô 26 ÈÕ
±¾ÎÄ´ÓµäÐ굀 Monitor Object Éè¼ÆÄ£Ê½ÈëÊÖ£¬´ÓÒ»¸öеÄÊӽǣ¬À ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ