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

javaÖйؼü×ÖvolatileµÄ×÷ÓÃ

ÓÃÔÚ¶àỊ̈߳¬Í¬²½±äÁ¿¡£ Ïß³ÌΪÁËÌá¸ßЧÂÊ£¬½«Ä³³ÉÔ±±äÁ¿(ÈçA)¿½±´ÁËÒ»·Ý£¨ÈçB£©£¬Ïß³ÌÖжÔAµÄ·ÃÎÊÆäʵ·ÃÎʵÄÊÇB¡£Ö»ÔÚijЩ¶¯×÷ʱ²Å½øÐÐAºÍBµÄͬ²½¡£Òò´Ë´æÔÚAºÍB²»Ò»ÖµÄÇé¿ö¡£volatile¾ÍÊÇÓÃÀ´±ÜÃâÕâÖÖÇé¿öµÄ¡£volatile¸æËßjvm£¬ ËüËùÐÞÊεıäÁ¿²»±£Áô¿½±´£¬Ö±½Ó·ÃÎÊÖ÷ÄÚ´æÖеģ¨Ò²¾ÍÊÇÉÏÃæËµµÄA)
=========================·Ö¸îÏß1=================================
°æÈ¨ÉùÃ÷ £º×ªÔØÊ±ÇëÒÔ³¬Á´½ÓÐÎʽ±êÃ÷ÎÄÕÂԭʼ³ö´¦ºÍ×÷ÕßÐÅÏ¢¼°±¾ÉùÃ÷
http://aleung.blogbus.com/logs/32090434.html
ÔÚJavaÄÚ´æÄ£ÐÍÖУ¬ÓÐmain memory£¬Ã¿¸öÏß³ÌÒ²ÓÐ×Ô¼ºµÄmemory (ÀýÈç¼Ä´æÆ÷)¡£ÎªÁËÐÔÄÜ£¬Ò»¸öÏ̻߳áÔÚ×Ô¼ºµÄmemoryÖб£³ÖÒª·ÃÎʵıäÁ¿µÄ¸±±¾¡£ÕâÑù¾Í»á³öÏÖͬһ¸ö±äÁ¿ÔÚij¸ö˲¼ä£¬ÔÚÒ»¸öÏ̵߳ÄmemoryÖеÄÖµ¿ÉÄÜÓëÁíÍâÒ»¸öÏß³ÌmemoryÖеÄÖµ£¬»òÕßmain memoryÖеÄÖµ²»Ò»ÖµÄÇé¿ö¡£
 
Ò»¸ö±äÁ¿ÉùÃ÷Ϊvolatile£¬¾ÍÒâζ×ÅÕâ¸ö±äÁ¿ÊÇËæÊ±»á±»ÆäËûÏß³ÌÐ޸ĵģ¬Òò´Ë²»Äܽ«ËücacheÔÚÏß³ÌmemoryÖС£ÒÔÏÂÀý×ÓÕ¹ÏÖÁËvolatileµÄ×÷Óãº
public class StoppableTask extends Thread {
  private volatile boolean pleaseStop;
  public void run() {
    while (!pleaseStop) {
     // do some stuff...
    }
 }
  public void tellMeToStop() {
   pleaseStop = true;
  }
}¼ÙÈçpleaseStopûÓб»ÉùÃ÷Ϊvolatile£¬Ïß³ÌÖ´ÐÐrunµÄʱºò¼ì²éµÄÊÇ×Ô¼ºµÄ¸±±¾£¬¾Í²»Äܼ°Ê±µÃÖªÆäËûÏß³ÌÒѾ­µ÷ÓÃtellMeToStop()ÐÞ¸ÄÁËpleaseStopµÄÖµ¡£
 
VolatileÒ»°ãÇé¿öϲ»ÄÜ´úÌæsychronized£¬ÒòΪvolatile²»Äܱ£Ö¤²Ù×÷µÄÔ­×ÓÐÔ£¬¼´Ê¹Ö»ÊÇi++£¬Êµ¼ÊÉÏÒ²ÊÇÓɶà¸öÔ­×Ó²Ù×÷×é³É£ºread i; inc; write i£¬¼ÙÈç¶à¸öÏß³ÌͬʱִÐÐi++£¬volatileÖ»Äܱ£Ö¤ËûÃDzÙ×÷µÄiÊÇͬһ¿éÄڴ棬µ«ÒÀÈ»¿ÉÄܳöÏÖдÈëÔàÊý¾ÝµÄÇé¿ö¡£Èç¹ûÅäºÏJava 5Ôö¼ÓµÄatomic wrapper classes£¬¶ÔËüÃǵÄincreaseÖ®ÀàµÄ²Ù×÷¾Í²»ÐèÒªsychronized¡£
 
Reference£º
http://www.javamex.com/tutorials/synchronization_volatile.shtml
http://www.javamex.com/tutorials/synchronization_volatile_java_5.shtml
http://www.ibm.com/developerworks/cn/java/j-jtp06197.html
=========================·Ö¸îÏß2=================================
  ¿ÖűȽÏÒ»ÏÂvolatileºÍsynchronizedµÄ²»Í¬ÊÇ×îÈÝÒ×½âÊ


Ïà¹ØÎĵµ£º

JAVA·´Éä»úÖÆ

JAVA·´Éä»úÖÆÊÇÔÚÔËÐÐ״̬ÖУ¬¶ÔÓÚÈÎÒâÒ»¸öÀ࣬¶¼Äܹ»ÖªµÀÕâ¸öÀàµÄËùÓÐÊôÐԺͷ½·¨£»¶ÔÓÚÈÎÒâÒ»¸ö¶ÔÏ󣬶¼Äܹ»µ÷ÓÃËüµÄÈÎÒâÒ»¸ö·½·¨£»ÕâÖÖ¶¯Ì¬»ñÈ¡µÄÐÅÏ¢ÒÔ¼°¶¯Ì¬µ÷ÓöÔÏóµÄ·½·¨µÄ¹¦ÄܳÆÎªjavaÓïÑԵķ´Éä»úÖÆ¡£
package mypakage;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method; ......

C++ºÍJava ÄĸöºÃ£¿ £¨Ô´×Ô Ææ»¢fvfve£©

JAVA¿ÉÒÔ˵ÊÇ´ÓC++·¢Õ¹ÆðÀ´µÄÍêÈ«ÃæÏò¶ÔÏóµÄ¿ª·¢ÓïÑÔ,Á½ÕßµÄʵÖÊÇø±ðÊÇÀûÒæ·ÖÊô²»Í¬µÄ¹«Ë¾:SUNºÍ΢Èí.¶Ô´Ë΢Èí·¢²¼ÁË.NETÓëÖ®¿¹ºâ.
´Ó×îеÄVisual Studio .NET 2005¿´,.NETÖ÷ÒªÊÇ4ÖÖÓïÑÔ:VB.NET, C#, C++.NET, J#.
VB.NET¿ÉÒÔ˵ÊÇVB6µÄÉý¼¶,µ«ÎÒÈÏΪVB.NETºÍC#ÒѾ­ÊÇÍêȫȫеÄÓïÑÔÁË,Á½ÕßµÄÄ¿µÄ¶¼ÊÇÒª´ò°ÜJAVAÕâ¸ö¾ºÕù¶ ......

Javaƽ̨I18N Ö§³Ö¸ÅÊö

Ò»¡¢¹ú¼Ê»¯ºÍ Java ±à³ÌÓïÑÔ
 
ºÍ´ó¶àÊýʹÓÃÆäËüÓïÑԵijÌÐòÔ±²»Í¬£¬Java
³ÌÐòÔ±ÊÇ´óÁ¿¹¹½¨ÔÚ JDK ÖÐÌṩ I18N Ö§³ÖµÄ±ê×¼´úÂëµÄÊÜÒæÕß¡£´ó²¿·Ö´úÂë×î³õÀ´×Ô IBM µÄ Taligent ×Ó¹«Ë¾£¨×ԴӺϲ¢½ø
IBM ÒԺ󣩣¬´ú±íÁËÐí¶àÈËÄêµÄ¹¤×÷³É¹û£¬±È´ó¶àÊý¹«Ë¾¶À×ÔÔÚÆä²úÆ·ÖÐÌṩµÄ´úÂëÒªÇÐʵ¿ÉÐеöࡣ
 
ÕâЩ
´úÂë ......

Java Ïà¹ØÄÚÈÝÔÓ¼Ç

1¡¢Eclipse µÄÆô¶¯»­Ãæ
   A¡¢¼ÓÆô¶¯²ÎÊý¡£È磺 eclipse.exe -showsplash C:\splash.bmp
        ¸ü¶à¿É²Î¿¼£ºhttp://www.cnblogs.com/sharewind/archive/2007/03/11/671270.html
   B¡¢ÐÞ¸ÄĬÈÏͼƬ¡£Î»ÓÚ£ºplugins\org.eclipse.platform_3.3.2.R33x_v20071022 ......

ʹÓÃeclipseÔËÐÐÔø¾­Ð´¹ýµÄjava´úÂë

½ñÌì°ÑÒÔǰдµÄjava´úÂëÄóöÀ´£¬·¢ÏÖ³öÁ˺öà´íÎó¡£µ÷Á˰ëÌ죬·¢ÏÖÊǰ汾µÄÎÊÌ⣬ÓôÃÆ£¡
¿ÉÄÜ֮ǰÎÒд´úÂëµÄʱºòÓõÄÊÇJDK1.5£¬½ñÌì´ÓÍøÉÏÏÂÔØJDK1.6£¬Ã»³É¹¦¡£¾Í²Ý²ÝÏÂÔØÁËJDK1.5,½á¹û×ÜÊÇÌáʾ“could not find the main class. program will exit”¡£ÎҾ͵½
window-¡·preference-¡·java-¡·compiler°Ñµ±Ç°µÄ°æ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ