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

JavaÀ¬»ø»ØÊÕµ÷ÓÅ

JavaÀ¬»ø»ØÊÕµ÷ÓÅ
ÔÚJavaÖУ¬Í¨³£Í¨Ñ¶ÀàÐ͵ķþÎñÆ÷¶ÔGC(Garbage Collection)±È½ÏÃô¸Ð¡£Í¨³£Í¨Ñ¶·þÎñÆ÷ÿÃëÐèÒª´¦Àí´óÁ¿½ø³öµÄÊý¾Ý°ü£¬ÐèÒª½âÎö£¬·Ö½â³É²»Í¬µÄÒµÎñÂß¼­¶ÔÏó²¢×öÏà¹ØµÄÒµÎñ´¦Àí£¬ÕâÑù»áµ¼Ö´óÁ¿µÄÁÙʱ¶ÔÏó±»´´½¨ºÍ»ØÊÕ¡£Í¬Ê±·þÎñÆ÷Èç¹ûÐèҪͬʱ±£´æÓû§×´Ì¬µÄ»°£¬ÓÖ»á²úÉúºÜ¶àÓÀ¾ÃµÄ¶ÔÏ󣬱ÈÈçÓû§session¡£ÒµÎñÔ½¸´ÔÓµÄÓ¦ÓÃÍùÍùÓû§session°üº¬µÄÒýÓöÔÏó¾ÍÔ½¶à¡£ÕâÑùÔÚ¼«¶ËÇé¿öÏ»ᷢÉúÁ½¼þÊÂÇ飬long gc pause time »ò out of memory¡£
 Ò»£¬Òª½â¾ölong pause timeÊ×ÏÈÒªÁ˽âJVMÖÐheapµÄ½á¹¹

java gc heap
java gc heap Java HeapΪʲôҪ·Ö³É¼¸¸ö²»Í¬µÄ´ú(generation)? ÓÉÓÚ80%-98%µÄ¶ÔÏóµÄÉú´æÖÜÆÚºÜ¶Ì£¬´ó²¿·ÖжÔÏó´æ·ÅÔÚyoung generation¿ÉÒԺܸßЧµÄ»ØÊÕ£¬±ÜÃâ±éÀúËùÓжÔÏó¡£ youngÓëoldÖÐÄÚ´æ·ÖÅäµÄËã·¨ÍêÈ«²»Í¬¡£young generationÖÐÓÉÓÚ´æ»îµÄºÜÉÙ£¬Òªmark, sweep È»ºóÔÙ compact Ê£ÓàµÄ¶ÔÏó±È½ÏºÄʱ£¬¸É´à°Ñ live object copy µ½ÁíÍâÒ»¸ö¿Õ¼ä¸ü¸ßЧ¡£old generationÍêÈ«Ïà·´£¬ÀïÃæµÄ live object ±ä»¯½ÏÉÙ¡£Òò´Ë²ÉÓà mark-sweep-compact¸üºÏÊÊ¡£
¶þ£¬JavaÖÐËÄÖÖÀ¬»ø»ØÊÕËã·¨
JavaÖÐÓÐËÄÖÖ²»Í¬µÄ»ØÊÕËã·¨£¬¶ÔÓ¦µÄÆô¶¯²ÎÊýΪ
–XX:+UseSerialGC
–XX:+UseParallelGC
–XX:+UseParallelOldGC
–XX:+UseConcMarkSweepGC
1. Serial Collector ´ó²¿·Öƽ̨»òÕßÇ¿ÖÆ java -client ĬÈÏ»áʹÓÃÕâÖÖ¡£ young generationËã·¨ = serial old generationËã·¨ = serial (mark-sweep-compact) ÕâÖÖ·½·¨µÄȱµãºÜÃ÷ÏÔ£¬stop-the-world, ËÙ¶ÈÂý¡£·þÎñÆ÷Ó¦Óò»ÍƼöʹÓá£
2. Parallel Collector ÔÚlinux x64ÉÏĬÈÏÊÇÕâÖÖ£¬ÆäËûƽ̨Ҫ¼Ó java -server ²ÎÊý²Å»áĬÈÏÑ¡ÓÃÕâÖÖ¡£ young = parallel£¬¶à¸öthreadͬʱcopy old = mark-sweep-compact = 1 Óŵ㣺ÐÂÉú´ú»ØÊÕ¸ü¿ì¡£ÒòΪϵͳ´ó²¿·Öʱ¼ä×öµÄgc¶¼ÊÇÐÂÉú´úµÄ£¬ÕâÑùÌá¸ßÁËthroughput(cpuÓÃÓÚ·Çgcʱ¼ä) ȱµã£ºµ±ÔËÐÐÔÚ8G/16G serverÉÏold generation live objectÌ«¶àʱºòpause time¹ý³¤
3. Parallel Compact Collector (ParallelOld) young = parallel = 2 old = parallel£¬·Ö³É¶à¸ö¶ÀÁ¢µÄµ¥Ôª£¬Èç¹ûµ¥ÔªÖÐlive objectÉÙÔò»ØÊÕ£¬¶àÔòÌø¹ýÓŵ㣺old old generationÉÏÐÔÄÜ½Ï parallel ·½Ê½ÓÐÌá¸ßȱµã£º´ó²¿·Öserverϵͳold generationÄÚ´æÕ¼Óûá´ïµ½60%-80%, ûÓÐÄÇô¶àÀíÏëµÄµ¥Ôªlive objectºÜÉÙ·½±ãѸËÙ»ØÊÕ£¬Í¬Ê±compact·½Ã濪Ïú±ÈÆðparallel²


Ïà¹ØÎĵµ£º

Java NIO APIÏê½â

 
Java NIO APIÏê½â
ÔÚJDK
1.4ÒÔǰ£¬JavaµÄIO²Ù×÷¼¯ÖÐÔÚjava.ioÕâ¸ö°üÖУ¬ÊÇ»ùÓÚÁ÷µÄ×èÈû£¨blocking£©API¡£¶ÔÓÚ´ó¶àÊýÓ¦ÓÃÀ´Ëµ£¬ÕâÑùµÄAPIʹÓúܷ½
±ã£¬È»¶ø£¬Ò»Ð©¶ÔÐÔÄÜÒªÇó½Ï¸ßµÄÓ¦Óã¬ÓÈÆäÊÇ·þÎñ¶ËÓ¦Óã¬ÍùÍùÐèÒªÒ»¸ö¸üΪÓÐЧµÄ·½Ê½À´´¦ÀíIO¡£´ÓJDK 1.4Æð£¬NIO
API×÷Ϊһ¸ö»ùÓÚ»º³åÇø£¬²¢ÄÜÌṩ·Ç×èÈû(non-blo ......

JVMÐéÄâ»ú»ù´¡£ºJava¶ÔÏó´óСÓëÀàÐÍÏê½â

»ù±¾Êý¾ÝµÄÀàÐ͵ĴóСÊǹ̶¨µÄ£¬ÕâÀï¾Í²»¶à˵ÁË¡£¶ÔÓÚ·Ç»ù±¾ÀàÐ͵ÄJava¶ÔÏ󣬯ä´óС¾ÍÖµµÃÉÌȶ¡£
ÔÚJavaÖУ¬Ò»¸ö¿ÕObject¶ÔÏóµÄ´óСÊÇ8byte£¬Õâ¸ö´óСֻÊDZ£´æ¶ÑÖÐÒ»¸öûÓÐÈκÎÊôÐԵĶÔÏóµÄ´óС¡£¿´ÏÂÃæÓï¾ä£º
Object ob = new Object(); 
ÕâÑùÔÚ³ÌÐòÖÐÍê³ÉÁËÒ»¸öJava¶ÔÏóµÄÉúÃü£¬µ«ÊÇËüËùÕ¼µÄ ......

¸÷ÖÖÅÅÐòËã·¨JAVAʵÏÖ

public class Sort {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] arry = { 19, 10, 5, 45, 100, 30, 35, 29 };
int[] sortArry = mergeSort(arry);
for (int i = 0; i < sortArry.le ......

Ó²»Ø³µ¡¢Èí»Ø³µ¡¢javaתÒå×Ö·û

Èí»Ø³µ£¨Soft Return£©£ºÈí»Ø³µÊÇÔÚ×Ö´¦Àí³ÌÐòÖÐ×÷Ϊ×Ô¶¯ÒÆÐй¦ÄܵÄÒ»²¿·Ö×Ô¶¯²åÈëµÄ£¬Ò²½Ð»»Ðзû£¬ÔÚwordÖп´²»¼û¡£Èç¹ûÎı¾Ò»Ðеij¤¶È³¬¹ýÎĵµËù¶¨ÒåµÄÓұ߾àʱ£¬¼´µ±Ç°ÐÐûÓÐ×ã¹»µÄ¿Õ¼ä·ÅÖÃÏÂÒ»¸ö×Ö·ûʱ£¬ÎÄ×Ö´¦ÀíÈí¼þ½«ÔÚÕâÒ»ÐÐÎı¾µÄĩβ×Ô¶¯²åÈëÒ»¸öÈí»Ø³µ·û£¬Îı¾ÁíÆðÒ»ÐС£Õâ¸öÈí»Ø³µ·ûÊÇÓɱ༭³ÌÐò×Ô¶¯²úÉúµÄ£¬½Ð× ......

JAVAÀïÃæ¹Ø¼ü×Ö¡°transient¡±ÊÇʲôÓõÄÄØ£¿

javaÓиöÌØµã¾ÍÊÇÐòÁл¯£¬¼òµ¥µØÀ´Ëµ¾ÍÊÇ¿ÉÒÔ½«Õâ¸öÀà´æ´¢ÔÚÎïÀí¿Õ¼ä£¨µ±È»»¹ÊÇÒÔÎļþµÄÐÎʽ´æÔÚ£©£¬ÄÇôµ±Äã´Ó±¾µØ»¹Ô­Õâ¸öÎļþʱ£¬Äã¿ÉÒÔ½«Ëüת»»ÎªËü±¾Éí¡£Õâ¿ÉÒÔ¼«´óµØ·½±ãÍøÂçÉϵÄһЩ²Ù×÷£¬µ«Í¬Ê±£¬ÒòÎªÉæ¼°µ½°²È«ÎÊÌ⣬ËùÒÔ²¢²»Ï£Íû°ÑÀàÀïÃæËùÓеĶ«Î÷¶¼ÄÜ´æ´¢£¨ÒòΪÄÇÑù£¬±ðÈË¿ÉÒÔͨ¹ýÐòÁл¯ÖªµÀÀàÀïÃæµÄÄÚÈÝ£©£¬ÄÇ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ