javaÄÚ´æ¹ÜÀí
1. JVMÄÚ´æ¶Î·ÖÅä¼°Æô¶¯²ÎÊý£º
J2EE·þÎñÆ÷µÄÄÚ´æ×é³É£º
? Java¶Ñ£ºÎÒÃǵijÌÐòºÍ¶ÔÏó¶¼ÔÚÕâ¸ö¶Ñ½øÐйÜÀí
? C¶Ñ£ºµ±ÒýÓõ½Ò»Ð©NativeµÄ¶ÔÏó£¬ÈçÍøÂç·ÃÎÊ¡¢OCI·½Ê½µÄÊý¾Ý¿âÁ¬½ÓµÈ¶¼ÔÚC¶ÑÀï½øÐйÜÀí
Java¶ÑµÄÃèÊö£º
ÈçÏÂͼ
ÄÚ´æÓÉ Perm ºÍ Heap ×é³É. ÆäÖÐ
Heap = {Old + young = { Eden , from, to } }
? Young¼°OldÇøÓòÓÃÀ´´æ·ÅÓÉJavaÀà¶øÉú³ÉµÄÄÚ´æ¶ÔÏó£»
? PermÇøÓòÓÃÀ´´æ·ÅJavaÀ༰ÆäËûÐéÄâ»ú×Ô¼ºµÄ¾²Ì¬Êý¾Ý
À¬»ø»ØÊÕÃèÊö£º
À¬»ø»ØÊշֶ༶£¬0¼¶ÎªÈ«²¿(Full)µÄÀ¬»ø»ØÊÕ£¬»á»ØÊÕOLD¶ÎÖеÄÀ¬»ø£»1¼¶»òÒÔÉÏΪ²¿·ÖÀ¬»ø»ØÊÕ£¬Ö»»á»ØÊÕYoungÖеÄÀ¬»ø£¬ÄÚ´æÒç³öͨ³£·¢ÉúÓÚOLD¶Î»òPerm¶ÎÀ¬»ø»ØÊÕºó£¬ÈÔÈ»ÎÞÄÚ´æ¿Õ¼äÈÝÄÉеÄJava¶ÔÏóµÄÇé¿ö¡£
µ±Ò»¸öURL±»·ÃÎÊʱ£¬ÄÚ´æÉêÇë¹ý³ÌÈçÏ£º
A. JVM»áÊÔͼΪÏà¹ØJava¶ÔÏóÔÚEdenÖгõʼ»¯Ò»¿éÄÚ´æÇøÓò
B. µ±Eden¿Õ¼ä×㹻ʱ£¬ÄÚ´æÉêÇë½áÊø¡£·ñÔòµ½ÏÂÒ»²½
C. JVMÊÔͼÊÍ·ÅÔÚEdenÖÐËùÓв»»îÔ¾µÄ¶ÔÏó£¨ÕâÊôÓÚ1»ò¸ü¸ß¼¶µÄÀ¬»ø»ØÊÕ£©£»ÊͷźóÈôEden¿Õ¼äÈÔÈ»²»×ãÒÔ·ÅÈëжÔÏó£¬ÔòÊÔͼ½«²¿·ÖEdenÖлîÔ¾¶ÔÏó·ÅÈëSurvivorÇø/OLDÇø
D. SurvivorÇø±»ÓÃÀ´×÷ΪEden¼°OLDµÄÖм佻»»ÇøÓò£¬µ±OLDÇø¿Õ¼ä×㹻ʱ£¬SurvivorÇøµÄ¶ÔÏó»á±»ÒƵ½OldÇø£¬·ñÔò»á±»±£ÁôÔÚSurvivorÇø
E. µ±OLDÇø¿Õ¼ä²»¹»Ê±£¬JVM»áÔÚOLDÇø½øÐÐÍêÈ«µÄÀ¬»øÊÕ¼¯£¨0¼¶£©
F. ÍêÈ«À¬»øÊÕ¼¯ºó£¬ÈôSurvivor¼°OLDÇøÈÔÈ»ÎÞ·¨´æ·Å´ÓEden¸´ÖƹýÀ´µÄ²¿·Ö¶ÔÏ󣬵¼ÖÂJVMÎÞ·¨ÔÚEdenÇøÎªÐ¶ÔÏó´´½¨ÄÚ´æÇøÓò£¬Ôò³öÏÖ”out of memory´íÎó”
Java¶ÑÏà¹Ø²ÎÊý£º
ms/mx£º¶¨ÒåYOUNG+OLD¶ÎµÄ×ܳߴ磬msΪJVMÆô¶¯Ê±YOUNG+OLDµÄÄÚ´æ´óС£»mxΪ×î´ó¿ÉÕ¼ÓõÄYOUNG+OLDÄÚ´æ´óС¡£ÔÚÓû§Éú²ú»·¾³ÉÏÒ»°ã½«ÕâÁ½¸öÖµÉèΪÏàͬ£¬ÒÔ¼õÉÙÔËÐÐÆÚ¼äϵͳÔÚÄÚ´æÉêÇëÉÏËù»¨µÄ¿ªÏú¡£
NewSize/MaxNewSize£º¶¨ÒåYOUNG¶ÎµÄ³ß´ç£¬NewSizeΪJVMÆô¶¯Ê±YOUNGµÄÄÚ´æ´óС£»MaxNewSizeΪ×î´ó¿ÉÕ¼ÓõÄYOUNGÄÚ´æ´óС¡£ÔÚÓû§Éú²ú»·¾³ÉÏÒ»°ã½«ÕâÁ½¸öÖµÉèΪÏàͬ£¬ÒÔ¼õÉÙÔËÐÐÆÚ¼äϵͳÔÚÄÚ´æÉêÇëÉÏËù»¨µÄ¿ªÏú¡£
PermSize/MaxPermSize£º¶¨ÒåPerm¶ÎµÄ³ß´ç£¬PermSizeΪJVMÆô¶¯Ê±PermµÄÄÚ´æ´óС£»MaxPermSizeΪ×î´ó¿ÉÕ¼ÓõÄPermÄÚ´æ´óС¡£ÔÚÓû§Éú²ú»·¾³ÉÏÒ»°ã½«ÕâÁ½¸öÖµÉèΪÏàͬ£¬ÒÔ¼õÉÙÔËÐÐÆÚ¼äϵͳÔÚÄÚ´æÉêÇëÉÏËù»¨µÄ¿ªÏú¡£
SurvivorRatio£ºÉèÖÃSurvivor¿Õ¼äºÍEden¿Õ¼äµÄ±ÈÀý
Àý£º
MEM_ARGS="-Xms512m -Xmx512m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=128m -XX:MaxPermSize=12
Ïà¹ØÎĵµ£º
1. byte Èç¹ûûÓи³Öµ£¬ÄÇôjava»á×Ô¶¯½«Ëü¸³ÖµÎª £¨byte£©0;
static String ReadLn (int maxLg) // utility function to read from stdin
{
byte lin[] = new byte [maxLg];
int lg = 0, car = -1;
String line = "";
try
{
while (lg < maxLg)
......
public static void main(String args[]){
Date calr1=new Date(2010, 3,1);
Date calr2=new Date(2010,3,31);
Long n=calr2.getTime()-calr1.getTime();
int a=(int)(n/ ......
×î½üÔÚѧϰjavaµÄʱºò£¬¶ÔÓÚjavaº¯ÊýµÄ´«µÝÁ˽âÁËһϡ£javaµÄÊý¾ÝÀàÐÍ´óµÄ·ÖΪÁ½ÖÖ£¬Ò»ÖÖÊÇ»ù±¾Êý¾ÝÀàÐÍ£¬ÁíÒ»ÖÖÊÇ·Ç»ù±¾Êý¾ÝÀàÐÍ£¬£¨ÀàÊý¾ÝÀàÐÍ£©¡£ÔÚ²ÎÊý´«µÝʱºò£¬»ù±¾µÄÊý¾ÝÀàÐÍ´«µÝµÄÊǶÔʵ²ÎÊýµÄÒ»·Ý¿½±´£¬¶ø·Ç»ù±¾Êý¾ÝÀàÐÍÔòÊÇʵÀýµÄÒýÓõÄÒ»·Ý¿½±´¡£ÎÒµÄÀí½âÊÇÀàµÄʵÀý£¬¼´¶ÔÏ󴿷ŵÄÄÚÈݾÍÊÇÒýÓã¬Êµ¼ÊÊǵØÖ·¡£
......
¹ØÓÚ¼Ó½âÃÜJAVAÒ»°ãʹÓõÄJCE£¬¹ØÓÚC++¿ÉÒÔʵÏÖAES¼Ó½âÃܵĿªÔ´ÏîÄ¿¾Í¶àµÄÊý²»Ê¤ÊýµÄ¡£
ÀíÂÛÉÏÉÏËã·¨Ò»Ñù£¬¶Ô³ÆÃÜÔ¿Ò»Ñù¾ÍÄܹ»»¥Ïàʶ±ðÁË¡£
ÏàÐźܶàÈË¿ªÊ¼Ïë·¨¶¼Í¬ÎÒÒ»Ñù£¬Æð³õÎÒJAVAÓÃJCE£¬C++ʹÓÃopenssl¡£
½á¹û·¢ÏÖ¼ÓÃܳöµÄÃÜÎÄÍêÈ«²»Ïàͬ¡£
³öÏÖÎÊÌâ¾ÍÒª½â¾ö
Á˽âÁËÒ»ÏÂJCE£º
JC ......
¶ÔÓÚObjectÀà,ËüÌṩÁËÒ»¸ö×î×îÑÏÃܵÄʵÏÖ,ÄǾÍÊÇÖ»ÓÐÊÇͬһ¶ÔÏóʱ,equals·½·¨²Å·µ»Øtrue,Ò²¾ÍÊÇÈËÃdz£ËµµÄÒýÓñȽ϶ø²»ÊÇÖµ±È½Ï.Õâ¸öʵÏÖÑÏÃܵÃÒѾûÓÐʲôʵ¼ÊµÄÒâÒå, ËùÒÔÔÚ¾ßÌå×ÓÀà(Ïà¶ÔÓÚObjectÀ´Ëµ)ÖÐ,Èç¹ûÎÒÃÇÒª½øÐжÔÏóµÄÖµ±È½Ï,¾Í±ØÐëʵÏÖ×Ô¼ºµÄequals·½·¨
equals ·½·¨ÊÇ java.lang.Object ÀàµÄ·½·¨¡£
ÓÐÁ½ÖÖÓ ......