dzÎöJava·ºÐÍ
±íÃæÉÏ¿´ÆðÀ´£¬ÎÞÂÛÓï·¨»¹ÊÇÓ¦ÓõĻ·¾³£¨±ÈÈçÈÝÆ÷Àࣩ£¬·ºÐÍÀàÐÍ£¨»òÕß·ºÐÍ£©¶¼ÀàËÆÓÚ C++ ÖеÄÄ£°å¡£µ«ÊÇÕâÖÖÏàËÆÐÔ½öÏÞÓÚ±íÃæ£¬Java ÓïÑÔÖеķºÐÍ»ù±¾ÉÏÍêÈ«ÔÚ±àÒëÆ÷ÖÐʵÏÖ£¬ÓɱàÒëÆ÷Ö´ÐÐÀàÐͼì²éºÍÀàÐÍÍÆ¶Ï£¬È»ºóÉú³ÉÆÕͨµÄ·Ç·ºÐ͵Ä×Ö½ÚÂë¡£ÕâÖÖʵÏÖ¼¼Êõ³ÆÎª²Á³ý£¨erasure£©£¨±àÒëÆ÷ʹÓ÷ºÐÍÀàÐÍÐÅÏ¢±£Ö¤ÀàÐͰ²È«£¬È»ºóÔÚÉú³É×Ö½ÚÂë֮ǰ½«ÆäÇå³ý£©£¬ÕâÏî¼¼ÊõÓÐÒ»Ð©Ææ¹Ö£¬²¢ÇÒÓÐʱ»á´øÀ´Ò»Ð©ÁîÈËÃÔ»óµÄºó¹û¡£ËäÈ»·¶ÐÍÊÇ Java Àà×ßÏòÀàÐͰ²È«µÄÒ»´ó²½£¬µ«ÊÇÔÚѧϰʹÓ÷ºÐ͵Ĺý³ÌÖм¸ºõ¿Ï¶¨»áÓöµ½Í·Í´£¨ÓÐʱºòÈÃÈËÎÞ·¨ÈÌÊÜ£©µÄÎÊÌâ¡£
×¢Ò⣺±¾ÎļÙÉèÄú¶Ô JDK 5.0 Öеķ¶ÐÍÓлù±¾µÄÁ˽⡣
·ºÐͲ»ÊÇбäµÄ
ËäÈ»½«¼¯ºÏ¿´×÷ÊÇÊý×éµÄ³éÏó»áÓÐËù°ïÖú£¬µ«ÊÇÊý×黹ÓÐһЩ¼¯ºÏ²»¾ß±¸µÄÌØÊâÐÔÖÊ¡£Java ÓïÑÔÖеÄÊý×éÊÇбäµÄ£¨covariant£©£¬Ò²¾ÍÊÇ˵£¬Èç¹û Integer À©Õ¹ÁË Number£¨ÊÂʵҲÊÇÈç´Ë£©£¬ÄÇô²»½ö Integer ÊÇ Number£¬¶øÇÒ Integer[] Ò²ÊÇ Number[]£¬ÔÚÒªÇó Number[] µÄµØ·½ÍêÈ«¿ÉÒÔ´«µÝ»òÕ߸³Óè Integer[]¡££¨¸üÕýʽµØËµ£¬Èç¹û Number ÊÇ Integer µÄ³¬ÀàÐÍ£¬ÄÇô Number[] Ò²ÊÇ Integer[] µÄ³¬ÀàÐÍ£©¡£ÄúÒ²ÐíÈÏΪÕâÒ»ÔÀíͬÑùÊÊÓÃÓÚ·ºÐÍÀàÐÍ —— List<Number> ÊÇ List<Integer> µÄ³¬ÀàÐÍ£¬ÄÇô¿ÉÒÔÔÚÐèÒª List<Number> µÄµØ·½´«µÝ List<Integer>¡£²»ÐÒµÄÊÇ£¬Çé¿ö²¢·ÇÈç´Ë¡£
²»ÔÊÐíÕâÑù×öÓÐÒ»¸öºÜ³ä·ÖµÄÀíÓÉ£ºÕâÑù×ö½«ÆÆ»µÒªÌṩµÄÀàÐͰ²È«·ºÐÍ¡£Èç¹ûÄܹ»½« List<Integer> ¸³¸ø List<Number>¡£ÄÇôÏÂÃæµÄ´úÂë¾ÍÔÊÐí½«·Ç Integer µÄÄÚÈÝ·ÅÈë List<Integer>£º
List<Integer> li = new ArrayList<Integer>();
List<Number> ln = li; // illegal
ln.add(new Float(3.1415));
ÒòΪ ln ÊÇ List<Number>£¬ËùÒÔÏòÆäÌí¼Ó Float ËÆºõÊÇÍêÈ«ºÏ·¨µÄ¡£µ«ÊÇÈç¹û ln ÊÇ li µÄ±ðÃû£¬ÄÇôÕâ¾ÍÆÆ»µÁËÔ̺¬ÔÚ li ¶¨ÒåÖеÄÀàÐͰ²È«³Ðŵ —— ËüÊÇÒ»¸öÕûÊýÁÐ±í£¬Õâ¾ÍÊÇ·ºÐÍÀàÐͲ»ÄÜбäµÄÔÒò¡£
ÆäËûµÄбäÎÊÌâ
Êý×éÄܹ»Ð±ä¶ø·ºÐͲ»ÄÜбäµÄÁíÒ»¸öºó¹ûÊÇ£¬²»ÄÜʵÀý»¯·ºÐÍÀàÐ͵ÄÊý×飨new List<String>[3] ÊDz»ºÏ·¨µÄ£©£¬³ý·ÇÀàÐͲÎÊýÊÇÒ»¸öδ°ó¶¨µÄͨÅä·û£¨new List<?>[3] ÊǺϷ¨µÄ£©¡£ÈÃÎÒÃÇ¿´¿´Èç¹ûÔÊÐíÉùÃ÷·ºÐÍÀàÐÍÊý×é»áÔì³Éʲôºó¹û£º
List<String>[] lsa = new List<String>[10]; // illegal
Object[] oa = lsa; //
Ïà¹ØÎĵµ£º
1.[http://www.javaalmanac.com] – Java¿ª·¢ÕßÄê¼øÒ»ÊéµÄÔÚÏß°æ±¾. ÒªÏë¿ìËٲ鵽ijÖÖJava¼¼ÇɵÄÓ÷¨¼°Ê¾Àý´úÂë, ÕâÊÇÒ»¸ö²»´íµÄÈ¥´¦.
2.[http://www.onjava.com] – O’ReillyµÄJavaÍøÕ¾. ÿÖܶ¼ÓÐÐÂÎÄÕÂ.
3.[http://java.sun.com] – ¹Ù·½µÄJava¿ª·¢ÕßÍøÕ¾ – ÿÖܶ¼ÓÐÐÂÎÄÕ·¢±í.
4.[http:/ ......
Java ByteCode
1£¬Ê²Ã´ÊÇBytecode
C/C++±àÒëÆ÷°ÑÔ´´úÂë±àÒë³É»ã±à´úÂ룬Java±àÒëÆ÷°ÑJavaÔ´´úÂë±àÒë³É×Ö½ÚÂëbytecode¡£
Java¿çƽ̨Æäʵ¾ÍÊÇ»ùÓÚÏàͬµÄbytecode¹æ·¶×ö²»Í¬Æ½Ì¨µÄÐéÄâ»ú£¬ÎÒÃǵÄJava³ÌÐò±àÒë³Ébytecodeºó¾Í¿ÉÒÔÔÚ²»Í¬Æ½Ì¨ÅÜÁË¡£
.net¿ò¼ÜÓÐIL(intermediate language)£¬»ã±àÊÇC/C++³ÌÐòµÄÖмä±í´ï·½Ê½£¬ ......
ÃæÏò¶ÔÏó³ÌÐòÉè¼Æ¹²ÓÐÈý´óÌØÐÔ£º·â×°¡¢¼Ì³Ð¡¢¶à̬£»
ÕâÈý´óÌØÐÔÖ®¼äÏ໥¹ØÁª£¬ÆäÖзâ×°ÐÔÊÇÃæÏò¶ÔÏóµÄ»ù´¡£¬¼Ì³ÐÐÔÊÇÈí¼þÖØÓõĹؼü¡£¶ø¶à̬ÐÔÔò±ØÐë´æÔÚÓڼ̳еĻ·¾³Ö®ÖУ¬ÊǶÔÃæÏò¶ÔÏó³ÌÐòÉè¼ÆµÄ²¹³ä¡£
·â×°£»
Java5.0ÐÂÌØÐÔ£»»ù±¾Êý¾ÝÀàÐÍà·â×°Àà ·âÏ䣻 ·â×°Ààà»ù±¾Êý¾ÝÀàÐÍ ²ðÏ䣻
package review;
......
ͨ¹ýJava hread dump·ÖÎöÕÒµ½ºÄ·ÑCPU×î¸ßµÄÔ´´úÂë
×÷Õߣººú¼Ò»Ô 2010-04-11
×î½ü²úÆ·ÔÚÔËÐйý³ÌÖгöÏÖÁËÐÔÄÜÎÊÌ⣬Ôںܵ͵ÄÁ÷Á¿µÄÇé¿öÏÂCPU¾Í´ïµ½40%£¬Á÷Á¿ÉÔ¸ßʱCPU¾Í´ïµ½98%¡£
²úÆ·ÊÇJavaдµÄ£¬ÔËÐÐÓÚJBOSSƽ̨¡£²Ù×÷ϵͳΪredhat linux¡£µ±Äãͨ¹ýtopÃüÁî·¢ÏÖÄãµÄÓ¦ÓóÌÐòµÄ½ø³ÌÕ¼ÓÃCPU´ï98%ʱ£¬ÎÒÏëÄã¿Ï¶¨ÏëÖªµÀ¾¿¾¹Ê ......