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


Ïà¹ØÎĵµ£º

base64µÄjavaʵÏÖ·½·¨

package cn.eshore.mismp.sms.ws.send;
public class Base64 {
/**
* ½«Ô­Ê¼Êý¾Ý±àÂëΪbase64±àÂë
*/
static public char[] encode(byte[] data) {
char[] out = new char[((data.length + 2) / 3) * 4];
for (int i = 0, index = 0; i < data.length; i += 3, index += 4) {
boolean quad = false ......

java¶àÏ̱߳à³ÌÒªµã(Èý)

       ÔÚJDK1.5֮ǰ£¬¶Ô¸ßÖÊÁ¿Java¶àÏ̲߳¢·¢³ÌÐòÉè¼ÆÊ±£¬Îª·ÀÖ¹³ÌÐò±ÀµôµÈÏÖÏóµÄ³öÏÖ£¬±ÈÈçʹÓÃwait()¡¢notify()ºÍsynchronizedµÈ£¬ÐèÒª¿¼ÂÇÐÔÄÜ¡¢ËÀËø¡¢¹«Æ½ÐÔ¡¢×ÊÔ´¹ÜÀíÒÔ¼°ÈçºÎ±ÜÃâḬ̈߳²È«ÐÔ·½Ãæ´øÀ´µÄΣº¦µÈÖî¶àÒòËØ£¬Í¨³£»á²ÉÓÃһЩ½ÏΪ¸´Ôӵݲȫ²ßÂÔ£¬¼ÓÖØÁ˳ÌÐòÔ±µÄ¿ª·¢¸ºµ£¡£ÔÚJ ......

java ÐòÁл¯Óë³Ö¾Ã»¯

Ê×ÏÈҪ˵µÄÊÇ,HibernateÖÐORMÀï¶ÔÓ¦µÄÓ³ÉäÎļþBEAN,±ØÐëʵÏÖÐòÁл¯.ÒòΪBEANÀïµÄÊý¾ÝÐèÒª´æÈëÊý¾Ý¿â(Ҫת»¯Îª¶þ½øÖƱ£´æ),½øÐдæÈ¡¹¤×÷.
        JAVAÀàµÄÊý¾Ý ,Èç¹ûÒª½øÐÐÏà¹ØµÄ´æ´¢¹¤×÷(ÈçдÎļþ,ÍøÂç´«Êä,дÊý¾Ý¿âµÈ),ÄÇôÕâ¸öÊý¾ÝµÄÀà ¾Í±ØÐëʵÏÖÐòÁл¯½Ó¿Ú (java.io.Serializable ......

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


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

»ñÈ¡Îļþ×îºóÐÞ¸Äʱ¼ä£¨java£©

import java.text.Format;
import java.text.SimpleDateFormat;
File file = new File("a.txt");
long time = file.lastModified();
Date d = new Date(time);
Format simpleFormat = new SimpleDateFormat("E dd MMM yyyy hh:mm:ss a");
String dateString = simpleFormat.format(d);
System.err.println(file.getN ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ