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

PermGen space Java heap space ÄÚ´æÒç³ö


1¡¢
PermGen spaceµÄÈ«³ÆÊÇPermanent Generation space,ÊÇÖ¸ÄÚ´æµÄÓÀ¾Ã±£´æÇøÓòOutOfMemoryError: PermGen space´Ó±íÃæÉÏ¿´¾ÍÊÇÄÚ´æÒæ³ö£¬½â¾ö·½·¨Ò²Ò»¶¨ÊǼӴóÄڴ档˵˵Ϊʲô»áÄÚ´æÒæ³ö£ºÕâÒ»²¿·ÖÓÃÓÚ´æ·ÅClassºÍMetaµÄÐÅÏ¢,ClassÔÚ±» LoadµÄʱºò±»·ÅÈëPermGen spaceÇøÓò£¬ËüºÍºÍ´æ·ÅInstanceµÄHeapÇøÓò²»Í¬,GC(Garbage Collection)²»»áÔÚÖ÷³ÌÐòÔËÐÐÆÚ¶ÔPermGen space½øÐÐÇåÀí£¬ËùÒÔÈç¹ûÄãµÄAPP»áLOADºÜ¶àCLASSµÄ»°,¾ÍºÜ¿ÉÄܳöÏÖPermGen space´íÎó¡£ÕâÖÖ´íÎó³£¼ûÔÚweb·þÎñÆ÷¶ÔJSP½øÐÐpre compileµÄʱºò¡£
¸ÄÕý·½·¨£º-Xms256m -Xmx256m -XX:MaxNewSize=256m -XX:MaxPermSize=256m
2¡¢
ÔÚtomcatÖÐredeployʱ³öÏÖoutofmemoryµÄ´íÎó.
¿ÉÒÔÓÐÒÔϼ¸¸ö·½ÃæµÄÔ­Òò:
£±,ʹÓÃÁËproxool,ÒòΪproxoolÄÚ²¿°üº¬ÁËÒ»¸öÀϰ汾µÄcglib.
2, log4j,×îºÃ²»ÓÃ,Ö»ÓÃcommon-logging
3, Àϰ汾µÄcglib,¿ìµã¸üе½×îа档
£´£¬¸üе½×îеÄhibernate3.2
3¡¢
ÕâÀïÒÔtomcat»·¾³ÎªÀý£¬ÆäËüWEB·þÎñÆ÷Èçjboss,weblogicµÈÊÇͬһ¸öµÀÀí¡£
Ò»¡¢java.lang.OutOfMemoryError: PermGen space
PermGen spaceµÄÈ«³ÆÊÇPermanent Generation space,ÊÇÖ¸ÄÚ´æµÄÓÀ¾Ã±£´æÇøÓò,
Õâ¿éÄÚ´æÖ÷ÒªÊDZ»JVM´æ·ÅClassºÍMetaÐÅÏ¢µÄ,ClassÔÚ±»Loaderʱ¾Í»á±»·Åµ½PermGen spaceÖÐ,
ËüºÍ´æ·ÅÀàʵÀý(Instance)µÄHeapÇøÓò²»Í¬,GC(Garbage Collection)²»»áÔÚÖ÷³ÌÐòÔËÐÐÆÚ¶Ô
PermGen space½øÐÐÇåÀí£¬ËùÒÔÈç¹ûÄãµÄÓ¦ÓÃÖÐÓкܶàCLASSµÄ»°,¾ÍºÜ¿ÉÄܳöÏÖPermGen space´íÎó,
ÕâÖÖ´íÎó³£¼ûÔÚweb·þÎñÆ÷¶ÔJSP½øÐÐpre compileµÄʱºò¡£Èç¹ûÄãµÄWEB APP϶¼ÓÃÁË´óÁ¿µÄµÚÈý·½jar, Æä´óС
³¬¹ýÁËjvmĬÈϵĴóС(4M)ÄÇô¾Í»á²úÉú´Ë´íÎóÐÅÏ¢ÁË¡£
½â¾ö·½·¨£º ÊÖ¶¯ÉèÖÃMaxPermSize´óС
ÐÞ¸ÄTOMCAT_HOME/bin/catalina.sh
ÔÚ“echo "Using CATALINA_BASE:   $CATALINA_BASE"”ÉÏÃæ¼ÓÈëÒÔÏÂÐУº
JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSize=128m
½¨Ò飺½«ÏàͬµÄµÚÈý·½jarÎļþÒÆÖõ½tomcat/shared/libĿ¼Ï£¬ÕâÑù¿ÉÒÔ´ïµ½¼õÉÙjar ÎĵµÖظ´Õ¼ÓÃÄÚ´æµÄÄ¿µÄ¡£
¶þ¡¢java.lang.OutOfMemoryError: Java heap space
Heap size ÉèÖÃ
JVM¶ÑµÄÉèÖÃÊÇÖ¸java³ÌÐòÔËÐйý³ÌÖÐJVM¿ÉÒÔµ÷ÅäʹÓõÄÄÚ´æ¿Õ¼äµÄÉèÖÃ.JVMÔÚÆô¶¯µÄʱºò»á×Ô¶¯ÉèÖÃHeap sizeµÄÖµ£¬
Æä³õʼ¿Õ¼ä(¼´-Xms)ÊÇÎïÀíÄÚ´æµÄ1/64£¬×î´ó¿Õ¼ä(-Xmx)ÊÇÎïÀíÄÚ´æµÄ1/4¡£¿ÉÒÔÀûÓÃJVMÌṩµÄ-Xmn -Xms -XmxµÈÑ¡Ïî¿É
½øÐÐÉèÖá£Hea


Ïà¹ØÎĵµ£º

javaѧϰվµã£¨×ªÔØ£©

1¡¢http://java.sun.com/
(Ó¢ÎÄ)
SunµÄJavaÍøÕ¾£¬ÊÇÒ»¸öÓ¦¸Ã¾­³£È¥¿´µÄµØ·½¡£²»Óöà˵¡£
2¡¢http://www-900.ibm.com/developerWorks/cn/
IBMµÄdeveloperWorksÍøÕ¾£¬Ó¢ÓïºÃµÄÖ±½ÓÈ¥Ó¢ÎÄÖ÷Õ¾µã¿´¡£ÕâÀï²»µ«ÊÇÒ»¸ö¼«ºÃµÄÃæÏò¶ÔÏóµÄ·ÖÎöÉè¼ÆÍøÕ¾£¬Ò²ÊÇWebServices£¬Java£¬Linux¼«ºÃµÄÍøÕ¾¡£Ç¿ÁÒÍÆ¼ö£¡£¡£¡
3¡¢http://www.j ......

Java ðÅÝÅÅÐò

/**
* ½»»»ÅÅÐò-ðÅÝÅÅÐò£¬ºËÐÄ˼Ïë ÒÔ´óСΪÒÀ¾Ý½»»»
*
* */
public void bubbleSort(double[] a){
//½«Òª½øÐбȽϵÄÊý´óµÄ¾¡Á¿ÍùºóÅÅ£¬Ã¿´ÎÑ­»·°Ñ×î´óµÄÅÅÔÚÒªÅÅÐòÊý×éµÄĩλ¡£
boolean hasSwap = true;
for(int i = 1; i < a.length&& hasSwap; i ++){//Ñ­»·µÄ´ÎÊý

hasSwap = ......

java ʵÏֵĶ˿ÚɨÃèÆ÷

import java.net.*;
import java.io.*;
public class PortScanner {
    public static void main(String args[]){
    String host="localhost";
    new PortScanner().scan(host);
    }
    public void scan(String host){
  ......

JavaÎļþÏÂÔØ



JavaÎļþÏÂÔØµÄ¼¸ÖÖ·½Ê½
< type="text/javascript">
document.body.oncopy = function() {
if (window.clipboardData) {
setTimeout(function() {
var text = cli ......

javaÖÐfloat/double¸¡µãÊýµÄ¼ÆËãʧ¾«¶ÈÎÊÌâ


½ñÌìÔÚÊýÖµ¼ÆËãʱÅöµ½Ò»¸öÎÊÌâ.³ÌÐòÈçÏÂ:
  double a = (3.3-2.4)/0.1;
  System.out.println(a);
Äã¿ÉÄÜÈÏΪ½á¹ûºÜ¼òµ¥,²»¾ÍÊÇ9Âï,ÊÇÊÂʵÉÏ,½á¹ûΪ:8.999999998,ÎªÊ²Ã´ÄØ?ÎÒ·­ÔÄÁËһЩ×ÊÁÏ,ÖÕÓÚÕÒ³öÁËÔ­Òò.
Ϊʲô¸¡µãÊý»á¶ªÊ§¾«¶È£¿  
Ê®½øÖÆÊýµÄ¶þ½øÖƱíʾ¿ÉÄܲ»¹»¾«È·
¸¡µãÊý»òÊÇË«¾«¶È¸¡µ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ