Óë Josh Bloch ̽ÌÖ Java δÀ´
×÷Õß
Josh Long
ÒëÕß
ËÎçâ
·¢²¼ÓÚ
2010Äê5ÔÂ5ÈÕ ÏÂÎç9ʱ7·Ö
Josh BlochÔÚSun¹«Ë¾¶àÄêΪJavaƽ̨×÷³öÁ˽ܳö¹±Ï×£¨Èç¹ûÄãÓùýJava
Collections¿ò¼Ü¾Í»áÁ˽âÕâÒ»µã£©£¬ÏÖÔÚGoogle¾ÍÖ°£¬ÊÇ»ñ½±Í¼Êé¡¶Effective Java¡·¼°¡¶Effective Java µÚ¶þ°æ
¡·
µÄ×÷Õß¡£×î½üËûÔÚ»ùÓÚWebµÄRed
HatÖмä¼þ2020´ó»áÉÏ×öÁËÒ»³¡Ñݽ²£¬ÆäÖ÷Ö¼ÊǶÔOracleËù¹ÜÀíµÄJavaƽ̨µÄδÀ´±íʾ³öÉóÉ÷ÀÖ¹ÛºÍÓÇÂÇ¡£InfoQ²É·ÃÁËJoshÒÔÁ˽âÆäÔÚ
Õâ·½ÃæµÄ¸ü¶àÏë·¨¡£ÒòΪÓÐÐí¶à²»Í¬µÄ¡¢ÏÖʵµÄ¹Ûµã½»Ö¯ÔÚÒ»Æð£¬Õâ´ÎÌÖÂÛ£¨ÓÈÆä¿¼Âǵ½SunÈ˲ŴÓOralceÁ÷ʧÈÕÒæ¼Ó¾çÒÔ¼°ÎªOracleÈçºÎ¹ÜÀíÉçÇø
ºÍJavaÖÇÁ¦×ʲú¶øµ£ÓÇ£©ÊÇ×î½üÒÔÀ´×îÈÈÁÒµÄÒ»´Î¡£ÎÒÃǺܸßÐËÄÜÓëBlochÒ»ÆðÌÖÂÛÕâЩÎÊÌâ¡£
InfoQ£ºÄã×î¹ØÇеÄÊÇʲô£¿
Õâ²»ÊǸöµ¥Ñ¡Ì⣬¹ýÈ¥¼¸ÄêÓкܶàÒòËØ¾À²øÔÚÒ»Æð£¬µ¼ÖÂÁËJava·çÏò·¢ÉúÁ˱仯¡£
InfoQ£ºÎªÊ²Ã´Äã»á¾õµÃJavaµÄ·¢Õ¹²½·¥ÂýÏÂÀ´ÁË£¿
Sun/Apache¾À·×ÒÔ¼°TCKÐí¿ÉȨ֮Õù¶¼ÑÏÖØ¸ÉÈÅÁËJCP¹ý³ÌÔË×÷¡£
SunÖ§³ÖÁ¦¡¢Áìµ¼Á¦ºÍ͸Ã÷¶ÈµÄȱ·¦Ê¹µÃJava 7·¢Õ¹»ºÂý¡£ÎÒ²»ÖªµÀÔÚ¹ýÈ¥¼¸ÄêÀïSun·ÖÅ䏸Java
SEµÄ×ÊÔ´µ½µ×ÓжàÉÙ£¬µ«½á¹ûÊǷdz£Ã÷ÏԵģºJavaOneÄêÄê¶¼Ôڰ죬µ«Java
7È´»¹Ò£²»¿É¼°¡£JavaÖ§³ÖÕß¼äµÄÐí¶àÕù¶ËÒ²×ÅʵÈÃÈËÌÖÑᡣǰÆÚ£¬SunËù°çÑݵÄÀÖÉÆºÃÊ©µÄ½ÇÉ«»¹ÊÇÓÐÖúÓÚ¼õÉÙÄÚ²¿Ã¬¶ÜµÄ¡£
OpenJDKʹÓÃGPLv2Ðí¿É×è°ÁËÈËÃDzÉÓÃOpenJDK£¬¼´±ãÊÇÄÇЩ²»Ì«¹ØÐÄTCKÎÊÌâµÄÈË¡£“copyleft”ÏÅÅÜÁ˺ܶàDZ
ÔڵĹ«Ë¾Ê¹ÓÃÕß¡£½á¹û£¬ÎªÁËͬʱ·¢Õ¹HarmonyºÍOpenJDK£¬×ÊÔ´±»Ò»ÅüÁ½°ë¡£Óɲ»Í¬JCP³ÉÔ±Õë¶Ô²»Í¬±ê×¼µÄ²»Í¬×é¼þËùʹÓõIJ»Í¬Ðí¿ÉʵÔÚÊÇ»ì
ÂÒ²»¿°£¬½á¹ûʵ¼ÊÉϸøJavaƽ̨µÄ·¢Õ¹´øÀ´Á˸ºÃæÓ°Ïì¡£
InfoQ£º¶ÔÓÚSunËù²»Äܼ°£¬OracleÓиüºÃµÄ½â¾ö·½°¸Âð£¿
OracleÓÐÖ§³ÖJCP¸Ä¸ïÒÔÖÕ½áÕù¶ËµÄÀúÊ·¡£¶øÇÒËûÃÇÔÚ¾¼ÃÉÏÒ²±ÈSun¸üÓÐʵÁ¦£¬ËùÒÔËûÃÇÄܹ»³Ðµ£Æð¸´ÐËÕâһƽ̨µÄÖØÈΣ¬
¶øÇÒËûÃÇÒ²¹«¿ªÐû´«ÒªÕâô×ö¡£×îÖÕ£¬ÓÉÓÚÕâ´ÎÒ×Ö÷£¬Ò»Ð©ÀúÊ·ÒÅÁôÎÊÌ⽫¾Í´ËÖսᡣ¶ÔÓÚSunÀ´Ëµ²»¿É½ÓÊܵÄһЩ±ä»¯£¬Oracle»òÐí»á´ÓȫнǶÈÈ¥¿´´ý
——“Ϊʲô²»±äÄØ£¿”
InfoQ£ºÊÇ·ñËùÓÐÖ¢½á¶¼¹é½áΪÐí¿ÉÎÊÌ⣿
²»£¬Ðí¿ÉÎÊÌâÖ»ÊÇÆäÖеÄÖ÷ÒªÎÊÌ⣬µ«»¹ÓÐÆäËûÎÊÌâ¡£ÕýÈçÎÒÒÔǰÌáµ½µÄ£¬¶ÔÓÚ×ÊÔ´¡¢Áìµ¼Á¦¡¢½¹µãµÄȱ·¦Ò²¶¼ÊÇÎÊÌâ¡£
InfoQ£ºApache
HarmonyÏîÄ¿£¨±»×÷ΪAndroi
Ïà¹ØÎĵµ£º
Java¶¯Ì¬´úÀíÀàλÓÚjava.lang.reflect°üÏ£¬Ò»°ãÖ÷񻃾¼°µ½ÒÔÏÂÁ½¸öÀࣺ
(1)Interface InvocationHandler£º¸Ã½Ó¿ÚÖнö¶¨ÒåÁËÒ»¸ö·½·¨
§public object invoke(Object obj,Method method, Object[] args)
ÔÚʵ¼ÊʹÓÃʱ£¬µÚÒ»¸ö²ÎÊýobjÒ»°ãÊÇÖ¸´úÀíÀ࣬methodÊDZ»´úÀíµÄ·½·¨£¬ÈçÉÏÀýÖеÄrequest()£¬argsΪ¸ ......
http://java.ccidnet.com/images/java/javagui/index.htm
Õâ¸öÊǽéÉÜjavaµÄgui¸÷¸ö·½ÃæµÄÎÊÌ⣬ÒÔ¼°·¢Õ¹µÄǰ¾°
SWT, SWING, AWT¸÷×ÔµÄȱµãºÍÓŵ㣬×ܵÃÀ´Ëµ¾ÍÊÇSWTºÜ°ô
http://www.cnblogs.com/pantian/archive/2006/10/30/544584.html
´ÓÍ·¿ªÊ¼°²×°EclipseºÍVE
http://blog.sina.com.cn/s/blog_629c53bd0100gh17.htm ......
ת×Ô£ºhttp://ttitfly.javaeye.com/blog/155422
1.javaÀïµÄclone·ÖΪ£º
A:dz¸´ÖÆ£¨Ç³¿Ë¡£©: dz¸´Öƽö½ö¸´ÖÆËù¿¼ÂǵĶÔÏ󣬶ø²»¸´ÖÆËüËùÒýÓõĶÔÏó¡£
b:Éî¸´ÖÆ£¨Éî¿Ë¡£©£ºÉî¸´ÖÆ°ÑÒª¸´ÖƵĶÔÏóËùÒýÓõĶÔÏ󶼸´ÖÆÁËÒ»±é¡£
JavaÖжÔÏóµÄ¿Ë¡,ΪÁË»ñÈ¡¶ÔÏóµÄÒ»·Ý¿½±´£¬ÎÒÃÇ¿ÉÒÔÀûÓÃObjectÀàµÄclone()·½·¨¡£±ØÐëÒª×ñÑ ......
code review ¹¤¾ßÁбí
1.´úÂë¸ñʽ¼ì²écheckstyle;
2.ÐÔÄܰ²È«×î¼Ñʵ¼ù¼ì²éRAD Software AnalyzerºÍFindBug;
3.ÒÀÀµ¼ì²éJDepend;
4.ÖØ¸´ÐÔ¼ì²éeclipse PMD²å¼þ;
5.¸´ÔӶȼì²éeclipse Metrics²å¼þ;
6.Ð×÷¹¤¾ßJupiter
Jupiter
1.Unset±íʾûÓÐÑ¡Ôñ£¬¶ø²»ÊÇÒ»¸ö¾ßÌåÀàÐÍ
2.Èý¸ö½×¶ÎÓÐĬÈϵÄFilterÌõ¼þ£ ......
C++ÓëJava±È½Ï(ת)
Ó¢ÎÄÔÎÄ£ºhttp://www.javacoffeebreak.com/articles/thinkinginjava/comparingc++andjava.html
“×÷ΪһÃûC++³ÌÐòÔ±£¬ÎÒÃÇÔçÒÑÕÆÎÕÁËÃæÏò¶ÔÏó³ÌÐòÉè¼ÆµÄ»ù±¾¸ÅÄ¶øÇÒJavaµÄÓï·¨ÎÞÒÉÊǷdz£ÊìϤµÄ¡£ÊÂʵÉÏ£¬Java±¾À´¾ÍÊÇ´ÓC++ÑÜÉú³öÀ´µÄ¡£”
¡¡¡¡È»¶ø£¬C++ºÍJavaÖ®¼äÈÔ´æÔÚһЩÏÔÖøµÄ²îÒ ......