Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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 web²¿Êð


 ¸÷Èí¼þʹÓð汾
£º
  Tomcat
°æ±¾£º
apache-tomcat-5.5.17
  Jdk
°æ±¾£º
jdk1.6.0_11
  Mysql
°æ±¾£º
mysql-5.0.77-win32
 
1.      
jdk
°²×°
н¨ÏµÍ³±äÁ¿
JAVA_HOME
£º
C:\Program Files\Java\jdk1.6.0_11
×¢Ò⣺½¨¹ýÖ®ºó¿ÉÒÔÊÔһϣ¬·ñÔ ......

JavaÐéÄâ»ú»ù´¡£º¶ÑÓëÕ»¸ÅÄîÏê½â

JavaÐéÄâ»úÖУ¬Êý¾ÝÀàÐÍ¿ÉÒÔ·ÖΪÁ½Àࣺ»ù±¾ÀàÐͺÍÒýÓÃÀàÐÍ¡£»ù±¾ÀàÐ͵ıäÁ¿±£´æÔ­Ê¼Öµ£¬¼´£ºËû´ú±íµÄÖµ¾ÍÊÇÊýÖµ±¾Éí£»¶øÒýÓÃÀàÐ͵ıäÁ¿±£´æÒýÓÃÖµ¡£“ÒýÓÃÖµ”´ú±íÁËij¸ö¶ÔÏóµÄÒýÓ㬶ø²»ÊǶÔÏó±¾Éí£¬¶ÔÏó±¾Éí´æ·ÅÔÚÕâ¸öÒýÓÃÖµËù±íʾµÄµØÖ·µÄλÖá£
»ù±¾ÀàÐͰüÀ¨£ºbyte, short, int, long, char, float, double ......

¸÷ÖÖÅÅÐòËã·¨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ÀïÃæ¹Ø¼ü×Ö¡°transient¡±ÊÇʲôÓõÄÄØ£¿

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

JavaÖеÄÖµ´«µÝºÍµØÖ·´«µÝ

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class TestClass {
 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO ×Ô動Éú³É¤µ¤ì¤¿¥á¥½¥Ã¥É?¥¹¥¿¥Ö
  List li = ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ