javaÄÚ´æ»ØÊÕ»úÖÆ
ÒýÑÔ
JavaµÄ¶ÑÊÇÒ»¸öÔËÐÐʱÊý¾ÝÇø,ÀàµÄʵÀý(¶ÔÏó)´ÓÖзÖÅä¿Õ¼ä¡£JavaÐéÄâ»ú(JVM)µÄ¶ÑÖд¢´æ×ÅÕýÔÚÔËÐеÄÓ¦ÓóÌÐòËù½¨Á¢µÄËùÓжÔÏó£¬ÕâЩ¶ÔÏóͨ¹ýnew¡¢newarray¡¢anewarrayºÍmultianewarrayµÈÖ¸ÁÁ¢£¬µ«ÊÇËüÃDz»ÐèÒª³ÌÐò´úÂëÀ´ÏÔʽµØÊÍ·Å¡£Ò»°ãÀ´Ëµ£¬¶ÑµÄÊÇÓÉÀ¬»ø»ØÊÕ À´¸ºÔðµÄ£¬¾¡¹ÜJVM¹æ·¶²¢²»ÒªÇóÌØÊâµÄÀ¬»ø»ØÊÕ¼¼Êõ£¬ÉõÖÁ¸ù±¾¾Í²»ÐèÒªÀ¬»ø»ØÊÕ£¬µ«ÊÇÓÉÓÚÄÚ´æµÄÓÐÏÞÐÔ£¬JVMÔÚʵÏÖµÄʱºò¶¼ÓÐÒ»¸öÓÉÀ¬»ø»ØÊÕËù¹ÜÀíµÄ¶Ñ¡£À¬»ø»ØÊÕÊÇÒ»ÖÖ¶¯Ì¬´æ´¢¹ÜÀí¼¼Êõ£¬Ëü×Ô¶¯µØÊͷŲ»ÔÙ±»³ÌÐòÒýÓõĶÔÏ󣬰´ÕÕÌØ¶¨µÄÀ¬»øÊÕ¼¯Ëã·¨À´ÊµÏÖ×ÊÔ´×Ô¶¯»ØÊյŦÄÜ¡£
À¬»øÊÕ¼¯µÄÒâÒå
ÔÚC++ÖУ¬¶ÔÏóËùÕ¼µÄÄÚ´æÔÚ³ÌÐò½áÊøÔËÐÐ֮ǰһֱ±»Õ¼Óã¬ÔÚÃ÷È·ÊÍ·Å֮ǰ²»ÄÜ·ÖÅ䏸ÆäËü¶ÔÏó£»¶øÔÚJavaÖУ¬µ±Ã»ÓжÔÏóÒýÓÃÖ¸ÏòÔÏÈ·ÖÅ䏸ij¸ö¶ÔÏóµÄÄÚ´æÊ±£¬¸ÃÄÚ´æ±ã³ÉΪÀ¬»ø¡£JVMµÄÒ»¸öϵͳ¼¶Ï̻߳á×Ô¶¯ÊͷŸÃÄÚ´æ¿é¡£À¬»øÊÕ¼¯Òâζ×ųÌÐò²»ÔÙÐèÒªµÄ¶ÔÏóÊÇ"ÎÞÓÃÐÅÏ¢"£¬ÕâЩÐÅÏ¢½«±»¶ªÆú¡£µ±Ò»¸ö¶ÔÏó²»ÔÙ±»ÒýÓõÄʱºò£¬ÄÚ´æ»ØÊÕËüÕ¼ÁìµÄ¿Õ¼ä£¬ÒÔ±ã¿Õ¼ä±»ºóÀ´µÄжÔÏóʹÓá£ÊÂʵÉÏ£¬³ýÁËÊÍ·ÅûÓõĶÔÏó£¬À¬»øÊÕ¼¯Ò²¿ÉÒÔÇå³ýÄÚ´æ¼Ç¼Ë鯬¡£ÓÉÓÚ´´½¨¶ÔÏóºÍÀ¬»øÊÕ¼¯Æ÷ÊͷŶªÆú¶ÔÏóËùÕ¼µÄÄÚ´æ¿Õ¼ä£¬ÄÚ´æ»á³öÏÖË鯬¡£Ë鯬ÊÇ·ÖÅ䏸¶ÔÏóµÄÄÚ´æ¿éÖ®¼äµÄ¿ÕÏÐÄÚ´æ¶´¡£Ë鯬ÕûÀí½«ËùÕ¼ÓõĶÑÄÚ´æÒƵ½¶ÑµÄÒ»¶Ë£¬JVM½«ÕûÀí³öµÄÄÚ´æ·ÖÅ䏸еĶÔÏó¡£
À¬»øÊÕ¼¯ÄÜ×Ô¶¯ÊÍ·ÅÄÚ´æ¿Õ¼ä£¬¼õÇá±à³ÌµÄ¸ºµ£¡£ÕâʹJava ÐéÄâ»ú¾ßÓÐһЩÓŵ㡣Ê×ÏÈ£¬ËüÄÜʹ±à³ÌЧÂÊÌá¸ß¡£ÔÚûÓÐÀ¬»øÊÕ¼¯»úÖÆµÄʱºò£¬¿ÉÄÜÒª»¨Ðí¶àʱ¼äÀ´½â¾öÒ»¸öÄѶ®µÄ´æ´¢Æ÷ÎÊÌâ¡£ÔÚÓÃJavaÓïÑÔ±à³ÌµÄʱºò£¬¿¿À¬»øÊÕ¼¯»úÖÆ¿É´ó´óËõ¶Ìʱ¼ä¡£Æä´ÎÊÇËü±£»¤³ÌÐòµÄÍêÕûÐÔ, À¬»øÊÕ¼¯ÊÇJavaÓïÑÔ°²È«ÐÔ²ßÂÔµÄÒ»¸öÖØÒª²¿·Ý¡£
À¬»øÊÕ¼¯µÄÒ»¸öDZÔÚµÄȱµãÊÇËüµÄ¿ªÏúÓ°Ïì³ÌÐòÐÔÄÜ¡£JavaÐéÄâ»ú±ØÐë×·×ÙÔËÐгÌÐòÖÐÓÐÓõĶÔÏó, ¶øÇÒ×îÖÕÊÍ·ÅûÓõĶÔÏó¡£ÕâÒ»¸ö¹ý³ÌÐèÒª»¨·Ñ´¦ÀíÆ÷µÄʱ¼ä¡£Æä´ÎÀ¬»øÊÕ¼¯Ëã·¨µÄ²»Í걸ÐÔ£¬ÔçÏȲÉÓõÄijЩÀ¬»øÊÕ¼¯Ëã·¨¾Í²»Äܱ£Ö¤100%ÊÕ¼¯µ½ËùÓÐµÄ·ÏÆúÄÚ´æ¡£µ±È»Ëæ×ÅÀ¬»øÊÕ¼¯Ëã·¨µÄ²»¶Ï¸Ä½øÒÔ¼°ÈíÓ²¼þÔËÐÐЧÂʵIJ»¶ÏÌáÉý£¬ÕâЩÎÊÌâ¶¼¿ÉÒÔÓÈжø½â¡£
À¬»øÊÕ¼¯µÄËã·¨·ÖÎö
JavaÓïÑԹ淶ûÓÐÃ÷È·µØËµÃ÷JVMʹÓÃÄÄÖÖÀ¬»ø»ØÊÕËã·¨£¬µ«ÊÇÈκÎÒ»ÖÖÀ¬»øÊÕ¼¯Ëã·¨Ò»°ãÒª×ö2¼þ»ù±¾µÄÊÂÇ飺£¨1£©·¢ÏÖÎÞÓÃÐÅÏ¢¶ÔÏ󣻣¨2£©»ØÊÕ±»ÎÞÓöÔÏóÕ¼ÓõÄÄÚ´æ¿Õ¼ä£¬Ê¹¸Ã¿Õ¼ä¿É±»³ÌÐòÔÙ´ÎʹÓá£
´ó¶àÊýÀ¬»ø»ØÊÕË㷨ʹÓÃÁ˸ù¼¯(root set)Õâ¸ö¸ÅÄËùν¸ù¼¯¾ÍÁ¿Õ
Ïà¹ØÎĵµ£º
1£¬intÓëbytes ת»»
intת»»³Ébytes
public
static
final
byte
[]
int2bytes
(
int
value
)
{
return
new
byte
[]
{
(
byte
)(
value
>>>
24
),
(
byte
)(
value
>>>
16
),
......
//´ÓÊý×éaÖÐɾ³ýÊý×ébÖдæÔÚµÄÔªËØ
String stra[] = {"g","b","c","h","k"};//ÔʼÊý×é
String strb[] = {"g","k"}; //ÒÆ³ýµÄÔªËØ
ArrayList list = new ArrayList();
//·½·¨Ò»
for(int i=0;i<stra.length;i++){
int n=0;
......
ͬÑùµÄ³ÌÐò£¬ÔÚ±ðÈ˵ĵçÄÔÉ϶¼¿ÉÒÔÓã¬ÔÚÎҵĵçÄÔÉÏÈ´ÎÞÂÛÈçºÎ¶¼Í¨²»¹ý£¬ÓôÃÆ°¡¡£
×òÌìÓöµ½Ò»¸öÎÊÌâ¸ãÁËÒ»Ì춼ûÓнâ¾ö£¬
Õâ¸ö³ÌÐòÔÚ±ðÈ˵ĵçÄÔÉÏÓö¼¿ÉÒÔͨ¹ý£¬Ö»ÓÐÔÚÎҵĵçÄÔÉÏÎÞ·¨Í¨¹ý
£¬ÎÒÒ»¿ªÊ¼×°µÄÊÇJDK6.0£¬ºóÀ´Ð¶ÔØÁË×°³ÉÁËJDK5.0£¨ÎªÁ˺ÍËùѧ½Ì³Ì±£³ÖÒ»Ö£¬
ÒÔ¼°ÎÒËÞÉáͨ¹ý²âÊԵĻúÆ÷Ò²ÊÇ×°µÄJDK5.0£©£¬
µ«ÊÇ ......
Ḭ̈߳²È« ʲôÊÇḬ̈߳²È«(thread-safe)£¿ Ò»¸öÀ࣬Èç¹ûÄܹ»ÔÚ¶àÏ̲߳¢·¢·ÃÎʵĻ·¾³Ï£¨²»¹ÜÏ̷߳ÃÎʵÄ˳Ðò£©ÕýÈ·±íÏÖ×Ô¼ºµÄÐÐΪ£¬²¢ÇÒÎÞÐèÍⲿµ÷ÓÃÌí¼ÓÈκÎͬ²½Ö®ÀàµÄ²Ù×÷£¬Õâ¸öÀà¾ÍÊÇḬ̈߳²È«µÄ¡£
Õâ¸öÕýÈ·ÐÔ¿ÉÒÔÕâôÀí½â£¬¾ÍÊÇ˵¶àÏ̷߳ÃÎʵĽá¹û²»»á²»Í¬ÓÚµ¥Ï̵߳ķÃÎÊ¡£
Ḭ̈߳²È«µÄÀ಻ÐèÒªÍⲿµ÷ÓÃÌá¹©È ......
1:¿¼ÂÇʹÓþ²Ì¬¹¤³§·½·¨´úÌæ¹¹¹¹·½·¨À´ÊµÀý»¯Àà¡£
2£ºÊ¹ÓÃ˽Óù¹¹¹º¯Êý£¬Ê¹Àà¾ßÓв»¿ÉʵÀý»¯µÄÄÜÁ¦¡£
3£º±ÜÃâ´´½¨Öظ´µÄ¶ÔÏó
4£ºÏû³ý¹ýÆÚµÄ¶ÔÏóµÄʹÓÃ
5£º±ÜÃâʹÓÃÖսắÊý
6£ºÊ¹ÀàºÍ³ÉÔ±µÄ¿É·ÃÎÊÐÔ×îС
7£º½Ó¿ÚÓÅÏÈÓÚ³éÏó
8£ºÎªËùÓеIJÎÊý½øÐÐÓÐЧÐÔ¼ì²é
9£º½÷É÷ʹÓÃÖØÔØ
10£ºÊ¹ÓÃ0³¤¶ÈµÄÊý×飬¶ø²»ÊÇ¿Õ
11£º½«¾ ......