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,2,3,4} ±íʾ¶àÏîʽ4x3+3x2+2x+1
ÔËËãÔÚ¹¤¾ßÀàPolynÖнøÐÐ ³õʼ»¯Polyn±ØÐëÒª´«Á½¸ö²ÎÊý ¼´±»³ýÊýºÍ³ýÊý
ÆäÖмӷ¨£¬¼õ·¨ºÍ³Ë·¨ÊǾ²Ì¬·½·¨ ²»ÐèʵÀý¼´¿ÉʹÓÃ
³ý·¨ÐèÒª²úÉúÉ̺ÍÓàÊ ......
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 ......
Runtime runtime = Runtime.getRuntime();// ¿ªÊ¼µ÷Ó÷þÎñ¶Ë½Å±¾
Process process = runtime.exec("encode.sh /home/tomcat6/kgedata/note_not_encode/ /home/tomcat6/kgedata/note_encode/");
int exitVal = process.waitFor();
System.out.prin ......
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°ÑÄÚ´æ»®·Ö³ÉÁ½ÖÖ£ºÒ»ÖÖÊÇÕ»Äڴ棬һÖÖÊǶÑÄÚ´æ¡£
ÔÚº¯ÊýÖж¨ÒåµÄһЩ»ù±¾ÀàÐ͵ıäÁ¿ºÍ¶ÔÏóµÄÒýÓñäÁ¿¶¼ÔÚº¯ÊýµÄÕ»ÄÚ´æ
ÖзÖÅä
¡£
µ±ÔÚÒ»¶Î´úÂë¿é¶¨ÒåÒ»¸ö±äÁ¿Ê±£¬Java¾ÍÔÚÕ»ÖÐΪÕâ¸ö±äÁ¿·ÖÅäÄÚ´æ¿Õ¼ä£¬µ±³¬¹ý±äÁ¿µÄ×÷ÓÃÓòºó£¬Java»á×Ô¶¯ÊͷŵôΪ¸Ã±äÁ¿Ëù·ÖÅäµÄÄÚ´æ¿Õ¼ä£¬
¸ÃÄÚ´æ¿Õ¼ä¿ÉÒÔÁ¢¼´± ......