javaÐéÄâ»újvm¹ØÓÚÄÚ´æµÄÉèÖÃÓëµ÷ÓÅ
JVMÄÚ´æµÄÉèÖõÄÔÀí
ĬÈϵÄjavaÐéÄâ»úµÄ´óС±È½ÏС£¬ÔÚ¶Ô´óÊý¾Ý½øÐд¦Àíʱjava¾Í»á±¨´í£ºjava.lang.OutOfMemoryError¡£
ÉèÖÃjvmÄÚ´æµÄ·½·¨£¬¶ÔÓÚµ¥¶ÀµÄ.class£¬¿ÉÒÔÓÃÏÂÃæµÄ·½·¨¶ÔTestÔËÐÐʱµÄjvmÄÚ´æ½øÐÐÉèÖá£
java -Xms64m -Xmx256m Test
-XmsÊÇÉèÖÃÄÚ´æ³õʼ»¯µÄ´óС
-XmxÊÇÉèÖÃ×î´óÄܹ»Ê¹ÓÃÄÚ´æµÄ´óС£¨×îºÃ²»Òª³¬¹ýÎïÀíÄÚ´æ´óС£©
ÔÚweblogicÖУ¬¿ÉÒÔÔÚstartweblogic.cmdÖжÔÿ¸ödomainÐéÄâÄÚ´æµÄ´óС½øÐÐÉèÖã¬Ä¬ÈϵÄÉèÖÃÊÇÔÚcommEnv.cmdÀïÃæ¡£
±¾ÎÄÒýÓõØÖ·£º http://cnpoint.com/framwwork/2006/1109/content_4563.htm
JVMÄÚ´æµÄµ÷ÓÅ
1. HeapÉ趨ÓëÀ¬»ø»ØÊÕJava Heap·ÖΪ3¸öÇø£¬Young£¬OldºÍPermanent¡£Young±£´æ¸ÕʵÀý»¯µÄ¶ÔÏó¡£µ±¸ÃÇø±»ÌîÂúʱ£¬GC»á½«¶ÔÏóÒÆµ½OldÇø¡£PermanentÇøÔò¸ºÔð±£´æ·´Éä¶ÔÏ󣬱¾ÎIJ»ÌÖÂÛ¸ÃÇø¡£JVMµÄHeap·ÖÅä¿ÉÒÔʹÓÃ-X²ÎÊýÉ趨£¬
-Xms
³õʼHeap´óС
-Xmx
java heap×î´óÖµ
-Xmn
young generationµÄheap´óС
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£®He
Ïà¹ØÎĵµ£º
JavaÊý¾ÝÀàÐÍÓëת»»
JavaÊý¾ÝÀàÐÍ·ÖΪÈý´óÀà
²¼¶ûÐÍ£¬×Ö·ûÐÍ(char)£¬ÊýÖµÐÍ(ÕûÊý,¸¡µãÐÍ)
ÕûÊýÀàÐÍÓУºbyte(8bits)¡¢short(16bits)¡¢int(32bits)¡¢long(64bits)¡¢
¸¡µãÀàÐÍÓУºµ¥¾«¶È£¨32bits float£©¡¢Ë«¾«¶È£¨64bits double£©
booleanÀàÐͱäÁ¿µÄȡֵÓУºture¡¢false
charÊý¾ÝÀàÐÍÓУºunicode×Ö·û,16λ
Êý¾ÝÀàÐÍת» ......
ÖÕÓÚÍê³ÉÁË´®¿ÚµÄ±àд£¬¹¦Äܼܺòµ¥£¬ÈçÏ£º
×ö³öÒ»¸ö¼òµ¥½çÃæ£¬Ïò´®¿Ú·¢ËÍÌØ¶¨µÄÃüÁ´®¿ÚÉϽÓÓй©²âÊÔÓõĴ®¿ÚÉ豸£©£¬½ÓÊÕÉ豸·µ»ØµÄÊý¾ÝÔÚ½çÃæÉÏÏÔʾ£º
import gnu.io.CommPortIdentifier;
import gnu.io.PortInUseException;
import gnu.io.SerialPort;
import gnu.io.Ser ......
System.getProperty(String name)·½·¨ÓÃÓڵõ½ÏµÍ³µÄÊôÐÔ.SystemÊÇÔÚlang°üÖеÄÒ»¸öÀ࣬Õâ¸öÀàÖдæÔÚ´óÁ¿ºÍϵͳ´ò½»µÀµÄʵÓ÷½·¨£¬¶øÇÒÒ»°ã¶¼ÊÇÀà·½
·¨£¬.getProperty(String key)¾ÍÊÇÆäÖÐÒ»¸ö±È½Ï³£Óõķ½·¨£¬ÓÃÓÚ·µ»ØÏµÍ³²ÎÊýÎļþÖÐÕâ¸ö·½·¨Ö¸¶¨¼üËù´ú±íµÄÖµ¡£
ÏÂÃæÊǸ÷½·¨µÄ³£ÓòÎÊý¡£¹Ø¼üÒâÒå
......
¶àÏß³ÌÖ®¼äÐèҪе÷¹¤×÷¡£ÀýÈ磬ä¯ÀÀÆ÷µÄÒ»¸öÏÔʾͼƬµÄÏß³ÌdisplayThreadÏëÒªÖ´ÐÐÏÔʾͼƬµÄÈÎÎñ£¬±ØÐëµÈ´ýÏÂÔØÏß³ÌdownloadThread½«¸ÃͼƬÏÂÔØÍê±Ï¡£Èç¹ûͼƬ»¹Ã»ÓÐÏÂÔØÍ꣬displayThread¿ÉÒÔÔÝÍ££¬µ±downloadThreadÍê³ÉÁËÈÎÎñºó£¬ÔÙ֪ͨdisplayThread“ͼƬ׼±¸Íê±Ï£¬¿ÉÒÔÏÔʾÁË”£¬Õâʱ£¬displayThread¼ÌÐøÖ´ ......