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

javaÖÐÀ¬»ø»ØÊÕËã·¨

1£©À¬»ø»ØÊÕµÄÁ½¸ö¹Ø¼üÒªËØ£º
·¢ÏÖÎÞÓöÔÏó¡£
»ØÊÕÎÞÓöÔÏóµÄÄÚ´æ¿Õ¼ä¡£
 
2£©6ÖÖÀ¬»ø»ØÊÕËã·¨£º
 
ÒýÓüÆÊý·¨£¬tracing Ëã·¨£¬compactingËã·¨£¬copying Ëã·¨£¬generationËã·¨£¬adaptiveËã·¨¡£
 
3£©detail£º
ÒýÓüÆÊý·¨(Reference Counting Collector)
ÒýÓüÆÊý·¨ÊÇΨһûÓÐʹÓøù¼¯µÄÀ¬»ø»ØÊյ퍣¬¸ÃË㷨ʹÓÃÒýÓüÆÊýÆ÷À´Çø·Ö´æ»î¶ÔÏóºÍ²»Ê¹ÓõĶÔÏó¡£Ò»°ãÀ´Ëµ£¬¶ÑÖеÄÿ¸ö¶ÔÏó¶ÔÓ¦Ò»¸öÒýÓüÆÊýÆ÷¡£µ±Ã¿Ò»´Î´´½¨Ò»¸ö¶ÔÏ󲢸³¸øÒ»¸ö±äÁ¿Ê±£¬ÒýÓüÆÊýÆ÷ÖÃΪ1¡£µ±¶ÔÏ󱻸³¸øÈÎÒâ±äÁ¿Ê±£¬ÒýÓüÆÊýÆ÷ÿ´Î¼Ó1µ±¶ÔÏó³öÁË×÷ÓÃÓòºó(¸Ã¶ÔÏó¶ªÆú²»ÔÙʹÓÃ)£¬ÒýÓüÆÊýÆ÷¼õ1£¬Ò»µ©ÒýÓüÆÊýÆ÷Ϊ0£¬¶ÔÏó¾ÍÂú×ãÁËÀ¬»øÊÕ¼¯µÄÌõ¼þ¡£
»ùÓÚÒýÓüÆÊýÆ÷µÄÀ¬»øÊÕ¼¯Æ÷ÔËÐнϿ죬²»»á³¤Ê±¼äÖжϳÌÐòÖ´ÐУ¬ÊÊÒ˵رØÐëʵʱÔËÐеijÌÐò¡£µ«ÒýÓüÆÊýÆ÷Ôö¼ÓÁ˳ÌÐòÖ´ÐеĿªÏú£¬ÒòΪÿ´Î¶ÔÏ󸳸øÐµıäÁ¿£¬¼ÆÊýÆ÷¼Ó1£¬¶øÃ¿´ÎÏÖÓжÔÏó³öÁË×÷ÓÃÓòÉú£¬¼ÆÊýÆ÷¼õ1¡£
 
tracingËã·¨(Tracing Collector)
tracingËã·¨ÊÇΪÁ˽â¾öÒýÓüÆÊý·¨µÄÎÊÌâ¶øÌá³ö£¬ËüʹÓÃÁ˸ù¼¯µÄ¸ÅÄî¡£»ùÓÚtracingËã·¨µÄÀ¬»øÊÕ¼¯Æ÷´Ó¸ù¼¯¿ªÊ¼É¨Ã裬ʶ±ð³öÄÄЩ¶ÔÏó¿É´ï£¬ÄÄЩ¶ÔÏ󲻿ɴ²¢ÓÃijÖÖ·½Ê½±ê¼Ç¿É´ï¶ÔÏó£¬ÀýÈç¶Ôÿ¸ö¿É´ï¶ÔÏóÉèÖÃÒ»¸ö»ò¶à¸öλ¡£ÔÚɨÃèʶ±ð¹ý³ÌÖУ¬»ùÓÚtracingËã·¨µÄÀ¬»øÊÕ¼¯Ò²³ÆÎª±ê¼ÇºÍÇå³ý(mark-and-sweep)À¬»øÊÕ¼¯Æ÷.
 
compactingËã·¨(Compacting Collector)
ΪÁ˽â¾ö¶ÑË鯬ÎÊÌ⣬»ùÓÚtracingµÄÀ¬»ø»ØÊÕÎüÊÕÁËCompactingËã·¨µÄ˼Ï룬ÔÚÇå³ýµÄ¹ý³ÌÖУ¬Ëã·¨½«ËùÓеĶÔÏóÒÆµ½¶ÑµÄÒ»¶Ë£¬¶ÑµÄÁíÒ»¶Ë¾Í±ä³ÉÁËÒ»¸öÏàÁڵĿÕÏÐÄÚ´æÇø£¬ÊÕ¼¯Æ÷»á¶ÔËüÒÆ¶¯µÄËùÓжÔÏóµÄËùÓÐÒýÓýøÐиüУ¬Ê¹µÃÕâЩÒýÓÃÔÚеÄλÖÃÄÜʶ±ðÔ­À´µÄ¶ÔÏó¡£ÔÚ»ùÓÚCompactingËã·¨µÄÊÕ¼¯Æ÷µÄʵÏÖÖУ¬Ò»°ãÔö¼Ó¾ä±úºÍ¾ä±ú±í¡£
copyingËã·¨(Coping Collector)
¸ÃËã·¨µÄÌá³öÊÇΪÁ˿˷þ¾ä±úµÄ¿ªÏúºÍ½â¾ö¶ÑË鯬µÄÀ¬»ø»ØÊÕ¡£Ëü¿ªÊ¼Ê±°Ñ¶Ñ·Ö³ÉÒ»¸ö¶ÔÏó ÃæºÍ¶à¸ö¿ÕÏÐÃæ£¬³ÌÐò´Ó¶ÔÏóÃæÎª¶ÔÏó·ÖÅä¿Õ¼ä£¬µ±¶ÔÏóÂúÁË£¬»ùÓÚcopingËã·¨µÄÀ¬»ø ÊÕ¼¯¾Í´Ó¸ù¼¯ÖÐɨÃè»î¶¯¶ÔÏ󣬲¢½«Ã¿¸ö»î¶¯¶ÔÏó¸´ÖƵ½¿ÕÏÐÃæ(ʹµÃ»î¶¯¶ÔÏóËùÕ¼µÄÄÚ´æÖ®¼äûÓпÕÏж´)£¬ÕâÑù¿ÕÏÐÃæ±ä³ÉÁ˶ÔÏóÃæ£¬Ô­À´µÄ¶ÔÏóÃæ±ä³ÉÁË¿ÕÏÐÃæ£¬³ÌÐò»áÔÚеĶÔÏóÃæÖзÖÅäÄÚ´æ¡£Ò»ÖÖµäÐ͵ĻùÓÚcopingËã·¨µÄÀ¬»ø»ØÊÕÊÇstop-and-copyËã·¨£¬Ëü½«¶Ñ·Ö³É¶ÔÏóÃæºÍ¿ÕÏÐÇøÓòÃæ£¬ÔÚ¶ÔÏóÃæÓë¿ÕÏÐÇøÓòÃæµÄÇл»¹ý³ÌÖУ¬³ÌÐòÔÝÍ£Ö´ÐС£
generationËã·¨(Genera


Ïà¹ØÎĵµ£º

javaͨ¹ý»º³åÇøÌá¸ßI/OÐÔÄÜ

 ÎÒÃÇÖªµÀJavaÖÐÒ»°ãµÄÊäÈëÊä³öÁ÷Àà¶¼ÊÇÓõ¥×ֽڵĶÁÈ¡·½·¨À´½øÐÐI/O²Ù×÷µÄ£¬Ò²¾ÍÊÇ˵ÿ´ÎÖ»¶Áдһ¸ö×Ö½ÚµÄÊý¾Ý£¬ÕâÖÖ·½·¨ÏÔÈ»·±ËöµÍЧ¡£Èç¹û´ÓÉ豸¶ÁÈ¡10MµÄÎļþ£¬Ã¿´Î¶Áȡһ¸ö×Ö½Ú£¬Íê³É²Ù×÷½«ÐèÒª×ö10M/´ÎI/O²Ù×÷£¬I/O²Ù×÷ÓÖÊÇÒ»¼þÏ൱ºÄʱµÄÊÂÇ飬ÎÞÒÉÔںܴó³Ì¶ÈÉϽµµÍÁËϵͳµÄÐÔÄÜ¡£
    JavaÖÐ× ......

ÓÃpython£¬ c#£¬ javaдµÄÎļþ¿½±´

     ǰһ¶Îʱ¼äÊÔ×ÅÓÃÕâÈýÖÖÓïÑÔ¼òµ¥µÄдÁ˹ØÓÚÎļþ¿½±´µÄ³ÌÐò£¬·¢ÏÖc#ºÍpythonµÄapi¾ªÈ˵ÄÏàËÆ£¬¶ÔÓÚÎļþµÄ²Ù×÷ÕâÁ½ÖÖÓïÑԷdz£µÄ·½±ã¡£¶¼Ã»ÓмÓÒì³£µÄ´¦Àí
C#Ô´´úÂ룺
        public static void CopyFile(string source, string destination)
  & ......

Java ÕýÔò±í´ïʽ ¶ÔÓÚ ³ËºÅ"*" µÄ´¦Àí

 String fm = "46+5*(120-37)";
  String[] item = fm.split("[+-/*/()]");
  for(String it: item){
   System.out.print(it+"  ");
  }
ÕýÔò±í´ïʽÖРתÒ壺  *  ==>   /* ......

JAVA ·ºÐÍ ÊÜÏÞ·ºÐÍ

package com.fanxing.neibulei;
/**
*
* @author xiaxiaorui
*
*·ºÐÍ ÊÜÏÞ·ºÐÍ
*http://developer.51cto.com/art/200909/153983.htm
*/
class Info2<T>
{
private T var; // ¶¨Òå·ºÐͱäÁ¿
public T getVar() {
return var;
}
public void setVar(T var) {
this.var = var;
}

......

java·´ÉäµÄʹÓÃ

    javaÖеķ´Éä¾­³£±»ÓÃÔÚһЩ¿ò¼Ü´î½¨ÉÏ£¬ËûÄܹ»ÈÃÎÒÃǺܷ½±ãµÄ¶Ô×Ô¼ºÎ´À´½«Ê¹ÓõÄÀ࣬·½·¨ºÍ±äÁ¿½øÐзÃÎÊ¡£¸öÈ˾õµÃÓÐÖֺڿ͵ÄζµÀÔÚÀïÃæ¡£µ±ÎÒÃÇÖªµÀÒ»¸öÀàµÄÀàÃûºó£¬ÎÒÃÇ»ù±¾ÉÏ¿ÉÒÔʹÓ÷´ÉäµÄµ½ËüµÄÒ»ÇС£°üÀ¨ËûµÄprivateµÄ·½·¨ºÍ±äÁ¿µÈ(µ±È»·ÃÎÊËûÃǵÄʹÓÃÐèҪʹÓõÄÊÇgetDeclared***(**))¡£ÁíÍ⣬¾Ý ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ