JAVA³£¼ûÃæÊÔÌâ¼°½â´ð£¨¾«»ª£©
1£©transientºÍvolatileÊÇjava¹Ø¼ü×ÖÂ𣿣¨Ë²Áª£©
Èç¹ûÓÃtransientÉùÃ÷Ò»¸öʵÀý±äÁ¿£¬µ±¶ÔÏó´æ´¢Ê±£¬ËüµÄÖµ²»ÐèҪά³Ö¡£ÀýÈ磺 class T {
transient int a; //²»ÐèҪά³Ö int b; //ÐèҪά³Ö }
ÕâÀÈç¹ûTÀàµÄÒ»¸ö¶ÔÏóдÈëÒ»¸ö³Ö¾ÃµÄ´æ´¢ÇøÓò£¬aµÄÄÚÈݲ»±»±£´æ£¬µ«bµÄ½«±»±£´æ¡£
volatileÐÞÊηû¸æËß±àÒëÆ÷±»volatileÐÞÊεıäÁ¿¿ÉÒÔ±»³ÌÐòµÄÆäËû²¿·Ö¸Ä±ä¡£ÔÚ¶àÏ̳߳ÌÐòÖУ¬ÓÐʱÁ½¸ö»ò¸ü¶àµÄÏ̹߳²ÏíÒ»¸öÏàͬµÄʵÀý±äÁ¿¡£¿¼ÂÇЧÂÊÎÊÌ⣬ÿ¸öÏ߳̿ÉÒÔ×Ô¼º±£´æ¸Ã¹²Ïí±äÁ¿µÄ˽Óп½±´¡£Êµ¼ÊµÄ±äÁ¿¸±±¾ÔÚ²»Í¬µÄʱºò¸üУ¬Èçµ±½øÈësynchronized·½·¨Ê±¡£ ÓÃstrictfpÐÞÊÎÀà»ò·½·¨£¬¿ÉÒÔÈ·±£¸¡µãÔËË㣨ÒÔ¼°ËùÓÐÇжϣ©ÕýÈçÔçÆÚµÄJava°æ±¾ÄÇÑù׼ȷ¡£ÇжÏÖ»Ó°ÏìijЩ²Ù×÷µÄÖ¸Êý¡£µ±Ò»¸öÀà±»strictfpÐÞÊΣ¬ËùÓеķ½·¨×Ô¶¯±»strictfpÐÞÊΡ£ strictfpµÄÒâ˼ÊÇFP-strict£¬Ò²¾ÍÊÇ˵¾«È·¸¡µãµÄÒâ˼¡£ÔÚJavaÐéÄâ»ú½øÐи¡µãÔËËãʱ£¬Èç¹ûûÓÐÖ¸¶¨strictfp¹Ø¼ü×Öʱ£¬JavaµÄ±àÒëÆ÷ÒÔ¼°ÔËÐл·¾³ÔÚ¶Ô¸¡µãÔËËãµÄ±í´ïʽÊDzÉȡһÖÖ½üËÆÓÚÎÒÐÐ
ÎÒËØµÄÐÐΪÀ´Íê³ÉÕâЩ²Ù×÷£¬ÒÔÖÂÓڵõ½µÄ½á¹ûÍùÍùÎÞ·¨ÁîÄãÂúÒâ¡£¶øÒ»µ©Ê¹ÓÃÁËstrictfpÀ´ÉùÃ÷Ò»¸öÀà¡¢½Ó¿Ú»òÕß·½·¨Ê±£¬ÄÇôËùÉùÃ÷µÄ·¶Î§ÄÚJavaµÄ±àÒëÆ÷ÒÔ¼°ÔËÐл·¾³»áÍêÈ«ÒÀÕÕ¸¡µã¹æ·¶IEEE-754À´Ö´ÐС£Òò´ËÈç¹ûÄãÏëÈÃÄãµÄ¸¡µãÔËËã¸ü¼Ó¾«È·£¬¶øÇÒ²»»áÒòΪ²»Í¬µÄÓ²¼þƽ̨ËùÖ´ÐеĽá¹û²»Ò»ÖµĻ°£¬ÄǾÍÇëÓùؼü×Östrictfp¡£
Äã¿ÉÒÔ½«Ò»¸öÀà¡¢½Ó¿ÚÒÔ¼°·½·¨ÉùÃ÷Ϊstrictfp£¬µ«ÊDz»ÔÊÐí¶Ô½Ó¿ÚÖеķ½·¨ÒÔ¼°¹¹Ô캯ÊýÉùÃ÷strictfp¹Ø¼ü×Ö£¬ÀýÈçÏÂÃæµÄ´úÂ룺 strictfp interface A {}
public strictfp class FpDemo1 { strictfp void f() {} }
2. ´íÎóµÄʹÓ÷½·¨ interface A {
strictfp void f(); }
public class FpDemo2 { strictfp FpDemo2() {} }
Ò»µ©Ê¹ÓÃÁ˹ؼü×ÖstrictfpÀ´ÉùÃ÷ij¸öÀà¡¢½Ó¿Ú»òÕß·½·¨Ê±£¬ÄÇôÔÚÕâ¸ö¹Ø¼ü×ÖËùÉùÃ÷µÄ·¶Î§ÄÚËùÓи¡µãÔËËã¶¼ÊǾ«È·µÄ£¬·ûºÏIEEE-754¹æ·¶
µÄ¡£ÀýÈçÒ»¸öÀà±»ÉùÃ÷Ϊstrictfp£¬ÄÇô¸ÃÀàÖÐËùÓеķ½·¨¶¼ÊÇstrictfpµÄ¡£
2£©³éÏóÀàºÍ½Ó¿ÚÓÐÊ²Ã´Çø±ð£¿£¨Ë²Áª£©
1.abstract class ÔÚ Java ÓïÑÔÖбíʾµÄÊÇÒ»Öּ̳йØÏµ£¬Ò»¸öÀàÖ»ÄÜʹÓÃÒ»´Î¼Ì³Ð¹ØÏµ¡£µ«ÊÇ£¬Ò»¸öÀàÈ´¿ÉÒÔʵÏÖ¶à¸öinterface¡£ 2.ÔÚabstract class ÖпÉÒÔÓÐ×Ô¼ºµÄÊý¾Ý³ÉÔ±£¬Ò²¿ÉÒÔÓзÇabstarctµÄ³ÉÔ±·½·¨£¬¶øÔÚinterfaceÖУ¬Ö»Äܹ»Óо²Ì¬µÄ²»Äܱ»Ð޸ĵÄÊý¾Ý³ÉÔ±£¨Ò²¾ÍÊDZØÐëÊÇstatic finalµÄ£¬²»¹ýÔÚ interfaceÖÐÒ»°ã²»¶¨ÒåÊý¾Ý³ÉÔ±£©£¬ËùÓеijÉÔ±·½·¨¶¼ÊÇabstractµÄ¡£ 3.abstract classºÍinterfaceËù·´Ó³³öµÄÉè¼ÆÀíÄͬ¡£Æäʵabstract class±íʾµÄÊÇ\¹ØÏµ£¬interface±íʾµÄÊÇ\¹ØÏµ¡£
4.ʵÏÖ³éÏóÀàºÍ½Ó¿ÚµÄÀà±ØÐëʵÏÖÆäÖеÄËùÓз½·¨¡£³éÏóÀàÖпÉÒÔÓзdzéÏó·½·¨¡£½Ó¿ÚÖÐÔò²»ÄÜÓÐʵÏÖ·½·¨¡£
5.½Ó¿ÚÖж¨ÒåµÄ±äÁ¿Ä¬ÈÏÊÇpublic static final ÐÍ£¬ÇÒ±ØÐë¸øÆä³õÖµ£¬ËùÒÔʵÏÖÀàÖв»ÄÜÖØÐ¶¨Ò壬Ҳ²»ÄܸıäÆäÖµ¡£
6.³éÏóÀàÖеıäÁ¿Ä¬ÈÏÊÇ friendly ÐÍ£¬ÆäÖµ¿ÉÒÔÔÚ×ÓÀàÖÐÖØÐ¶¨Ò壬Ҳ¿ÉÒÔÖØÐ¸³Öµ¡£
7.½Ó¿ÚÖеķ½·¨Ä¬È϶¼ÊÇ public,abstract ÀàÐ͵ġ£ 3£©ÄÜ˵һÏÂjavaµÄ·´Éä(reflection)»úÖÆÂ𣿣¨Ë²Áª£©
¿ª·ÅÐÔºÍÔÒòÁ¬½Ó(causally-connected)ÊÇ·´ÉäϵͳµÄÁ½´ó»ù±¾ÒªËØ