JavaÐéÄâ»ú£¨JVM£©ÖеÄÄÚ´æÉèÖÃÏê½â
ÔÚһЩ¹æÄ£ÉÔ´óµÄÓ¦ÓÃÖУ¬JavaÐéÄâ»ú£¨JVM£©µÄÄÚ´æÉèÖÃÓÈÎªÖØÒª£¬ÏëÔÚÏîÄ¿ÖÐÈ¡µÃºÃµÄЧÂÊ£¬GC£¨À¬»ø»ØÊÕ£©µÄÉèÖÃÊǵÚÒ»²½¡£
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¸öÇø
1.Young
2.Old
3.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£¿
ÓÐÈçÏÂÔÒò£º
1.³ÌÐòÄÚµ÷ÓÃÁËSystem.gc()»òRuntime.gc()¡£
2.һЩÖмä¼þÈí¼þµ÷ÓÃ×Ô¼ºµÄGC·½·¨£¬´ËʱÐèÒªÉèÖòÎÊý½ûÖ¹ÕâЩGC¡£
3.JavaµÄHeap̫С£¬Ò»°ãĬÈϵÄHeapÖµ¶¼ºÜС¡£
4.Ƶ·±ÊµÀý»¯¶ÔÏó£¬Release¶ÔÏó ´Ëʱ¾¡Á¿±£´æ²¢ÖØÓöÔÏó£¬ÀýÈçʹÓÃStringBuffer()ºÍString()¡£
Èç¹ûÄã·¢ÏÖÿ´ÎGCºó£¬HeapµÄÊ£Óà¿Õ¼ä»áÊÇ×ܿռäµÄ50%£¬Õâ±íʾÄãµÄHeap´¦ÓÚ½¡¿µ×´Ì¬,Ðí¶àServer¶ËµÄJava³ÌÐòÿ´ÎGCºó×îºÃÄÜÓÐ65%µÄÊ£Óà¿Õ¼ä
¾Ñé̸֮£º
1£®Server¶ËJVM×îºÃ½«-XmsºÍ-XmxÉèΪÏàֵͬ¡£ÎªÁËÓÅ»¯GC£¬×îºÃÈÃ-XmnÖµÔ¼µÈÓÚ-XmxµÄ1/3¡£
2£®Ò»¸öGUI³ÌÐò×îºÃÊÇÿ10µ½20Ãë¼äÔËÐÐÒ»´ÎGC£¬Ã¿´ÎÔÚ°ëÃëÖ®ÄÚÍê³É¡£
×¢Ò⣺
1£®Ôö¼ÓHeapµÄ´óСËäÈ»»á½µµÍGCµÄƵÂÊ£¬µ«Ò²Ôö¼ÓÁËÿ´ÎGCµÄʱ¼ä¡£²¢ÇÒGCÔËÐÐʱ£¬ËùÓеÄÓû§Ï߳̽«ÔÝÍ££¬Ò²¾ÍÊÇGCÆÚ¼ä£¬JavaÓ¦ÓóÌÐò²»×öÈκι¤×÷¡£
2£®Heap´óС²¢²»¾ö¶¨½ø³ÌµÄÄÚ´æÊ¹ÓÃÁ¿¡£½ø³ÌµÄÄÚ´æÊ¹ÓÃÁ¿Òª´óÓÚ-Xmx¶¨ÒåµÄÖµ£¬ÒòΪJavaΪÆäËûÈÎÎñ·ÖÅäÄڴ棬ÀýÈçÿ¸öÏ̵߳ÄStackµÈ¡£
StackµÄÉ趨
ÿ¸öÏ̶߳¼ÓÐËû×Ô¼ºµÄStack¡£
-Xss
ÿ¸öÏ̵߳ÄStack´óС
StackµÄ´óСÏÞÖÆ×ÅÏ̵߳ÄÊýÁ¿¡£Èç¹ûStack¹ý´ó¾ÍºÃµ¼ÖÂÄÚ´æÒç©¡£-Xss²ÎÊý¾ö¶¨Stack´óС£¬ÀýÈç-Xss1024K¡£Èç¹ûStack̫С£¬Ò²»áµ¼ÖÂStackÒç©¡£
Ó²¼þ»·¾³
Ó²¼þ»·¾³Ò²Ó°ÏìGCµÄЧÂÊ£¬ÀýÈç»úÆ÷µÄÖÖÀ࣬Äڴ棬swap¿Õ¼ä£¬º
Ïà¹ØÎĵµ£º
¿¼ÂÇÓþ²Ì¬¹¤³§·½·¨´úÌæ¹¹Ô캯Êý
Àà¿ÉÒÔΪËüµÄ¿Í»§ÌṩһЩ¾²Ì¬¹¤³§·½·¨£¬À´Ìæ´ú¹¹Ô캯Êý£¬»òÕßͬʱҲÌṩһЩ¹¹Ô캯Êý¡£
¾²Ì¬¹¤³§·½·¨µÄÒ»¸öºÃ´¦ÊÇ£¬Óë¹¹Ô캯ÊýÏà±È£¬¾²Ì¬¹¤³§·½·¨¾ßÓÐÃû×Ö£¬Ëü¿ÉÒÔʹµÃ´úÂë¸üÈÝÒ×ÔĶÁ¡£Èç¹ûÒ»¸öÀà¿´ÆðÀ´ÐèÒª¶à¸ö¹¹Ô캯Êý£¬²¢ÇÒËüÃǵÄÔÐÍÌØÕ÷Ïàͬ£¬ÄÇôÄãÓ¦¸Ã¿¼ÂÇÓþ²Ì¬¹¤³§·½·¨À´ ......
1.ÉùÃ÷°ü£ºpackage °üÃû
¸ÃÓï¾äÊÇ×÷ΪjavaÔ´ÎļþµÄµÚÒ»ÌõÓï¾ä Ö¸Ã÷¸ÃÔ´Îļþ¶¨ÒåµÄÀàËùÔڵİü
2.µ¼°ü£ºimport °üÃû
¸ÃÓï¾ä±ØÐëдÔÚpackageÓï¾äºÍÔ´Îļ ......
ºÜ¾ÃÒÔǰ¿´¹ýJava±à³Ì˼ÏëÕâ±¾Ê飬µ±Ê±¿´µÃ²»ÊǺܶ®£¬ÖØÐÂÄÃÆðÕâ±¾Ê飬¸Ð¾õ·Ç³£Ä°Éú£¬ÓÚÊDzúÉúÁËÖØÐÂÑо¿µÄÄîÍ·£¬²¢×öһЩ¶ÁÊé±Ê¼Ç¡£
Ò»¡¢Ò»Çж¼ÊǶÔÏó
1¡¢JavaÓëC++
˵µ½ÃæÏò¶ÔÏóÓïÑÔ£¬²»µÃ²»ÌáC++£¬C++¿ÉÒÔ˵ÊÇ×î ÔçµÄÒ»ÖÖÃæÏò¶ÔÏóÓïÑÔ£¬C++·Ç³£ºÃµÄÖ§³ÖÁËÃæÏò¶ÔÏó±à³ÌµÄ·½·¨¡£µ«C++ÊÇÒ»ÖÖ»ìºÏÐÍÓïÑÔ£¬Ò²¾ÍÊÇ˵ÔÊÐí¶ ......
½ñÌì³é¿ÕÏÂÁË¡¶java½â»ó¡·Õâ±¾Êé¿´ÁËһϣ¬È·Êµ²»´í£¬Ìá³öÁ˺ܶàÎÒÃÇÆ½Ê±²»»á×¢ÒâµÄСÎÊÌâ¡£ÏëÏëÈç¹û²»×¢Òâ˵²»¶¨»áÒòΪһ¸öBUGÓôÃÆ¸öÒ»Á½ÌìÒ²ÕÒ²»µ½¡£ÒÔÏÂÊÇ×ܽáµÄ±Ê¼Ç£¬±¸Íü~~
1.ÅÐ¶ÏÆæÊý
i % 2 == 1 ÔÚi Ϊ¸ºÊýʱ½á¹ûΪ-1£¬ËùÒÔʹÓÃi % 2 != 0À´Åжϣ»µ±ÓÐÐÔÄÜÒªÇóʱʹÓà (i & 1) != 0¡£
*ÔÚʹÓÃ%ʱһ¶¨Òª¿¼Âǵ½² ......
½ñÌìûʸɡ££¬ÄÃJavaÖеÄmainº¯ÊýÀ´Ịֽ̀¬¡£¡£»¹ÇëÖîλָµã°¡£¬£¬
public static void main(String args [])
{
.....
}
ÕâÊÇ´ó¼ÒÒ»°ãµÄд·¨°É£¬ÕâÀïÎÒÏëÌ̵ֽÄÖ÷ÒªÓÐÒÔϼ¸µã£º
1.ËüµÄ²ÎÊýÎÊÌ⣬ÄǸö²ÎÊýµ¹µ×ÓкÎÓÃÄØ£¬£¬ÕâÊǺÜÁîÈËÃÔ»óµÄ£¬ÕâÀï×Ô¼ºÐ´Á˸öÀý×ÓÊÔÁËһϣ¬µ«ÊdzöÏÖÁËÒì³££º
class A
{
......