JAVAÐéÄâ»úÄÚ´æÉèÖÃ
»ù±¾¸ÅÄ
PermGen space£ºÈ«³ÆÊÇPermanent Generation space¡£¾ÍÊÇ˵ÊÇÓÀ¾Ã±£´æµÄÇøÓò,ÓÃÓÚ´æ·ÅClassºÍMetaÐÅÏ¢,ClassÔÚ±»LoadµÄʱºò±»·ÅÈë¸ÃÇøÓò
Heap space£º´æ·ÅInstance¡£ GC(Garbage Collection)Ó¦¸Ã²»»á¶ÔPermGen space½øÐÐÇåÀí
ËùÒÔÈç¹ûÄãµÄAPP»áLOADºÜ¶àCLASSµÄ»°,¾ÍºÜ¿ÉÄܳöÏÖPermGen space´íÎó
Java Heap·ÖΪ3¸öÇø£¬Young£¬OldºÍPermanent¡£Young±£´æ¸ÕʵÀý»¯µÄ¶ÔÏó¡£µ±¸ÃÇø±»ÌîÂúʱ£¬GC»á½«¶ÔÏóÒÆµ½OldÇø¡£PermanentÇøÔò¸ºÔð±£´æ·´Éä¶ÔÏó ¡£
JVMÓÐ2¸öGCÏ̡߳£µÚÒ»¸öÏ̸߳ºÔð»ØÊÕHeapµÄYoungÇø¡£µÚ¶þ¸öÏß³ÌÔÚHeap²»×ãʱ£¬±éÀúHeap£¬½«Young ÇøÉý¼¶ÎªOlderÇø¡£OlderÇøµÄ´óСµÈÓÚ-Xmx¼õÈ¥-Xmn£¬²»Äܽ«-XmsµÄÖµÉèµÄ¹ý´ó£¬ÒòΪµÚ¶þ¸öÏ̱߳»ÆÈÔËÐлήµÍJVMµÄÐÔÄÜ¡£
ΪʲôһЩ³ÌÐòƵ·±·¢ÉúGC£¿ÓÐÈçÏÂÔÒò£º
l ³ÌÐòÄÚµ÷ÓÃÁËSystem.gc()»òRuntime.gc()¡£
l һЩÖмä¼þÈí¼þµ÷ÓÃ×Ô¼ºµÄGC ·½·¨£¬´ËʱÐèÒªÉèÖòÎÊý½ûÖ¹ÕâЩGC¡£
l JavaµÄHeap̫С£¬Ò»°ãĬÈϵÄHeapÖµ¶¼ºÜС¡£
l Ƶ·±ÊµÀý»¯¶ÔÏó£¬Release¶ÔÏó¡£´Ëʱ¾¡Á¿±£´æ²¢ÖØÓöÔÏó£¬ÀýÈçʹÓÃStringBuffer()ºÍString()¡£
Èç¹ûÄã·¢ÏÖÿ´ÎGCºó£¬HeapµÄÊ£Óà¿Õ¼ä»áÊÇ×ܿռäµÄ50%£¬Õâ±íʾÄãµÄHeap´¦ÓÚ½¡¿µ×´Ì¬¡£Ðí¶àServer¶ËµÄJava³ÌÐòÿ´ÎGCºó×îºÃÄÜÓÐ65%µÄÊ£Óà¿Õ¼ä¡£
¾Ñé̸֮£º
1 £® Server ¶Ë JVM ×îºÃ½« -Xms ºÍ -Xmx ÉèΪÏàֵͬ¡£ÎªÁËÓÅ»¯ GC £¬×îºÃÈà -Xmn ÖµÔ¼µÈÓÚ -Xmx µÄ 1/3[2] ¡£
2 £®Ò»¸ö GUI ³ÌÐò×îºÃÊÇÿ 10 µ½ 20 Ãë¼äÔËÐÐÒ»´Î GC £¬Ã¿´ÎÔÚ°ëÃëÖ®ÄÚÍê³É [2] ¡£
×¢Ò⣺
1£®Ôö¼ÓHeapµÄ´óСËäÈ»»á½µµÍGCµÄƵÂÊ£¬µ«Ò²Ôö¼ÓÁËÿ´ÎGCµÄʱ¼ä¡£²¢ÇÒGCÔËÐÐʱ£¬ËùÓеÄÓû§Ï߳̽«ÔÝÍ££¬Ò²¾ÍÊÇGCÆÚ¼ä£¬JavaÓ¦ÓóÌÐò²»×öÈκι¤×÷¡£
2£®Heap´óС²¢²»¾ö¶¨½ø³ÌµÄÄÚ´æÊ¹ÓÃÁ¿¡£½ø³ÌµÄÄÚ´æÊ¹ÓÃÁ¿Òª´óÓÚ-Xmx¶¨ÒåµÄÖµ£¬ÒòΪJavaΪÆäËûÈÎÎñ·ÖÅäÄڴ棬ÀýÈçÿ¸öÏ̵߳ÄStackµÈ¡£
StackµÄÉ趨
ÿ¸öÏ̶߳¼ÓÐËû×Ô¼ºµÄStack¡£ -Xss ÿ¸öÏß³ÌµÄ Stack ´óС
StackµÄ´óСÏÞÖÆ×ÅÏ̵߳ÄÊýÁ¿¡£Èç¹ûStack¹ý´ó¾ÍºÃµ¼ÖÂÄÚ´æÒç©¡£-Xss²ÎÊý¾ö¶¨Stack´óС£¬ÀýÈç-Xss1024K¡£Èç¹ûStack̫С£¬Ò²»áµ¼ÖÂStackÒç©¡£
Ó²¼þ»·¾³
Ó²¼þ»·¾³Ò²Ó°ÏìGCµÄЧÂÊ£¬ÀýÈç»úÆ÷µÄÖÖÀ࣬ÄÚ´
Ïà¹ØÎĵµ£º
¼ÇµÃvamcily ÔøÎÊÎÒ£º“Ϊʲô»ñÈ¡Êý×éµÄ³¤¶ÈÓÃ.length(³ÉÔ±±äÁ¿µÄÐÎʽ)£¬¶ø»ñÈ¡StringµÄ³¤¶ÈÓÃ.length()(³ÉÔ±·½·¨µÄÐÎʽ)£¿”
ÎÒµ±Ê±Ò»Ìý£¬¾õµÃÎʵúÜÓеÀÀí¡£×öͬÑùÒ»¼þÊÂÇ飬Ϊʲô²ÉÓÃÁ½ÖÖ·ç¸ñåÄÒìµÄ·ç¸ñÄØ£¿¿öÇÒ£¬JavaÖеÄÊý×éÆäʵÊÇÍ걸(full-fledged)µÄ¶ÔÏó£¬Ö±½Ó±©Â¶³ÉÔ±±äÁ¿£¬¿ÉÄܲ»ÊÇÒ»ÖÖºÜOOµÄ·ç¸ñ¡£ ......
java¿ª·¢µÚÒ»²¿£¬»·¾³±äÁ¿ÅäÖÃ
windows xpÏÂÅäÖÃJDK»·¾³±äÁ¿£º
1.°²×°JDK£¬°²×°¹ý³ÌÖпÉÒÔ×Ô¶¨Ò尲װĿ¼µÈÐÅÏ¢£¬ÀýÈçÎÒÃÇÑ¡Ôñ°²×°Ä¿Â¼ÎªD:\java\jdk1.5.0_08£»
¡¡ 2.°²×°Íê³Éºó£¬ÓÒ»÷“ÎҵĵçÄÔ”£¬µã»÷“ÊôÐÔ”£»
3.Ñ¡Ôñ“ ......
JDK°æ±¾£ºjdk1.6.0_17
a. ÏÂÔØ°²×°°üjdk-6u17-linux-i586-rpm.bin
b. cp jdk-6u17-linux-i586-rpm.bin /usr/local/
c. chmod a+x jdk-6u17-linux-i586-rpm.bin
d. sh jdk-6u17-linux-i586-rpm.bin ½ÓÊÜÐÒéyes£¬°²×°Íê³É
e. ÉèÖû·¾³±äÁ¿
vi /etc/profile
¼ÓÈëÏÂÃæÄÚÈÝ£º
#set java environment
JAVA_HOME=/ ......
³ÌÐòÊǺܼòÒ׵ġ£È»¶ø£¬ÔÚ±à³ÌÈËÔ±ÃæÇ°£¬¶àÏ̳߳ÊÏÖ³öÁËÒ»×éеÄÄÑÌ⣬Èç¹ûûÓб»Ç¡µ±µÄ½â¾ö£¬½«µ¼ÖÂÒâÍâµÄÐÐΪÒÔ¼°Ï¸Î¢µÄ¡¢ÄÑÒÔ·¢ÏֵĴíÎó¡£
ÔÚ±¾ÆªÎÄÕÂÖУ¬ÎÒÃÇÕë¶ÔÕâЩÄÑÌâÖ®Ò»£ºÈçºÎÖжÏÒ»¸öÕýÔÚÔËÐеÄÏ̡߳£
& ......
package com.wicresoft.jpo;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import java.util.zip.ZipInputStream;
publi ......