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

½âÎöJavaÀàºÍ¶ÔÏóµÄ³õʼ»¯¹ý³Ì

ÀàµÄ³õʼ»¯ºÍ¶ÔÏó³õʼ»¯ÊÇ JVM ¹ÜÀíµÄÀàÐÍÉúÃüÖÜÆÚÖзdz£ÖØÒªµÄÁ½¸ö»·½Ú£¬Google ÁËÒ»±éÍøÂ磬ÓйØÀà×°ÔØ»úÖÆµÄÎÄÕµ¹ÊDz»ÉÙ£¬È»¶øÀà³õʼ»¯ºÍ¶ÔÏó³õʼ»¯µÄÎÄÕ²¢²»¶à£¬ÌرðÊÇ´Ó×Ö½ÚÂëºÍ JVM ²ã´ÎÀ´·ÖÎöµÄÎÄÕ¸üÊÇÏÊÓÐËù¼û¡£
±¾ÎÄÖ÷Òª¶ÔÀàºÍ¶ÔÏó³õʼ»¯È«¹ý³Ì½øÐзÖÎö£¬Í¨¹ýÒ»¸öʵ¼ÊÎÊÌâÒýÈ룬½«Ô´´úÂëת»»³É JVM ×Ö½ÚÂëºó£¬ ......

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 = ......

java ·ÖÎöÆ÷½âÎö ÉîδÀ´¼¼Êõ


1¡¢Óï»ãµ¥ÔªµÄ×é³É£º
1£©¾­¹ý·ÖÎö²úÉúµÄ»ù±¾µ¥Ôª¡£ÔÚË÷Òýʱ£¬LuceneʹÓÃÌØ¶¨µÄ·ÖÎöÆ÷À´´¦ÀíÐèÒª±»Óï»ãµ¥Ôª»¯µÄÖ¸¶¨Óò£¬²¢½«Ã¿¸öÓï»ãµ¥ÔªÒÔÏîµÄÐÎʽдÈëË÷Òý¡£
2£©ÆðµãÆ«ÒÆÁ¿ÊÇÖ¸Óï»ãµ¥ÔªÎı¾µÄÆðʼ×Ö·ûÔÚÔ­¹ãÎ÷ÖеÄλÖ㬶øÖÕµãµÄÆ«ÒÆÁ¿Ôò±íʾÓï»ãµ¥ÔªÖÕÖ¹×Ö·ûµÄÏÂÒ»¸öλÖá£
3£©Îı¾±»Óï»ãµ¥Ôª»¯ºó£¬Ïà¶ÔÓÚǰһÓï»ãµ¥ ......

javaÏóÆå

/* @author AnShuFeng
*   @version 1.0
*  ÈËÈ˶ÔÕ½ÏóÆå
*  XiangQi.java
*/
  
import java.awt.*;
import java.awt.event.*;
import javax.imageio.*;
import java.io.*;
import javax.swing.*;
import java.awt.image.*;
public class XiangQi
{
    JFra ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ